图像显示在每一行?

时间:2012-05-22 12:21:50

标签: android image

我正在我的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);
    }

1 个答案:

答案 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
相关问题