用AsyncTask异步更新图片时 发生了混乱

子旺 发布于 2012/03/04 10:02
阅读 1K+
收藏 1

在一个listview中 布局像微博那样,图像异步加载,自定义BaseAdapter来完成绑定   也有默认的男生和女生图像。每个item的图片都是通过网络的url下载得到的  允许url为空

奇怪的是  执行后 在listview上显示的图像都是一样的。比如 前面两个item的图片地址为空,然后第三个item有图片地址,然后将listview滑动到第三个的时候,所有的item都变成了第三个item对应的url图片。在滑动到第三个之前 前面两个本来只有默认的男女生图片。

想来很有可能是 getView里面  判断逻辑弄错了  这是里面的设计到图片的方法

//  bitmapList是存储图片的 List<Bitmap>... 
if (bitmapList.size() <= position) {

System.out.println("图片地址是       "+position+"    "+ contentSlist.get(position).getPhotoUrls());

new downImageTask().execute(contentSlist.get(position)

.getPhotoUrls(), String.valueOf(position));

}

//前面下载完成的图片 就存储在bitmapList里面了
if (bitmapList.size() > position) {

   System.out.println("设置图片     "+position);

holder.userPhoto.setImageBitmap(bitmapList.get(position));

//System.out.println("图片高度是      " + bitmapList.get(position).getHeight());

}

求助

加载中
0
子旺
子旺
终于看到上面那段程序的缺陷了  加载图片进list的时候  是需要保证每个item加载自己的一个的  而设置的时候  也是一一对应的。
0
m
mozartghost
新手,一看就是搞了没多久的,我也是这么过来的,哈哈,当初也是那么的纠结。。。
0
greenblue
greenblue
图片多还是会存在问题
0
Le_Guto
Le_Guto

NetWorkImageView.setImage(String url);

哈哈

返回顶部
顶部