MyAdapter 是 BaseAdapter。部分内容如下:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewTag viewTag;
if(convertView == null) {
convertView = myInflater.inflate(R.layout.myrow, null);
viewTag = new ViewTag((ImageView)convertView.findViewById(R.id.myicon), (TextView)convertView.findViewById(R.id.mytext));
convertView.setTag(viewTag);
}
else {
viewTag = (ViewTag) convertView.getTag();
}
viewTag.mytext.setText(MyTitle[position]);
if(Icon[position].equals("Yes")) {
viewTag.myicon.setVisibility(View.VISIBLE);
}
else {
viewTag.myicon.setVisibility(View.INVISIBLE);
}
}
class ViewTag {
ImageView myicon;
TextView mytext;
public ViewTag(ImageView iv1, TextView tv1) {
this.myicon = iv1;
this.mytext = tv1;
}
}
并在 Activity 中调用如下:
private Runnable updateRunnable = new Runnable() {
public void run() {
MyAdapter.notifyDataSetChanged();
handler.postDelayed(updateRunnable, 1000);
}
};
为什么图标显示错误?与 Icon 数组不同。Icon arrar always only on 是“是”。所以列表应该一次只显示一个图标。但有时显示不止一个。如何修改它?