我设置的 Adapter 是 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);
}
};
为什么图标显示错误?和图标数组不一样。图标数组总是显示"Yes"。所以列表应该每次只显示一个图标,但是有时候显示好几个图标,如何修改?