0

我正在我的活动中实现列表视图。我只在第一行显示图像。当我从那个 Activity 移动到另一个 Activity 并按 Back 时,这个图像会显示在所有行中吗?该怎么办?任何帮助将不胜感激。代码是这样的。我正在从远程服务器检索图像。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);
    }
4

1 回答 1

2

这是 的正常行为ListView Adapter,这是因为,作为rowListView重用。因此,位置 0 被重新使用,它保存图像,因此您必须删除该图像以用于其他位置,为此,还要设置一个条件,以删除其他位置的图像,如下所示:ViewconverViewViewelse

if (position==0) {
   image.setImageBitmap(a);
}
else
   image.setImageDrawable(null);  //to remove the image for all other rows
于 2012-05-22T12:27:27.200 回答