我正在我的Activity中实现List视图。我只在第一行显示图像。当我从该Activity移动到另一个Activity并按Back然后这个图像显示在所有Row中?该怎么办?任何帮助将不胜感激。代码是这样的。我正从远程服务器检索图像。 if(convertView == null){
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.shop_list_items_row, null);
viewHandler = new ListingViewHandler(convertView);
convertView.setTag(viewHandler);
convertView
.setBackgroundResource((position % 2) == 0 ? R.color.listViewAlternateColor1
: R.color.listViewAlternateColor2);
}
viewHandler = (ListingViewHandler) convertView.getTag();
ImageView image = viewHandler.getImage();
Bitmap a = downloadFile(imageUrl);
if (position==0) {
image.setImageBitmap(a);
}
答案 0 :(得分:2)
这是ListView
Adapter
的正常行为,这是因为,ListView
重新使用View
作为行converView
。因此,位置0的View
被重新使用,它正在保存图像,因此您必须删除其他位置的图像,为此,还要设置else
条件,以删除图像其他职位,如:
if (position==0) {
image.setImageBitmap(a);
}
else
image.setImageDrawable(null); //to remove the image for all other rows