Android ListView异步加载图片时图片顺序混乱解决办法

做项目时ListView中有图片,异步加载了,但是图片顺序混乱了。

解决办法:

给listView中的imageView加上tag.

具体代码如下:

imageView.setImageBitmap(null);
		String imageUrl = listRes.get(position).getImgUrl();
		imageView.setTag(imageUrl);
		Drawable drawable = asyncImageLoader.loadDrawable(
				imageUrl,
				new ImageCallback() {
					public void imageLoaded(Drawable imageDrawable,String imageUrl) {
						ImageView imageViewByTag = (ImageView) listView.findViewWithTag(imageUrl);
		                if (imageViewByTag != null) {
		                	//MyGridViewAdapter.this.notifyDataSetChanged();
		                    if(imageDrawable !=null){
		                    	imageViewByTag.setImageDrawable(imageDrawable);
		                    } else {
		                    	imageViewByTag.setImageResource(R.drawable.ic_launcher);
		                    }
		                }
					}
				});
		if (drawable == null) {
			imageView.setImageResource(R.drawable.ic_launcher);
		} else {
			imageView.setImageDrawable(drawable);
		}

你得将你的listView在adapter的构造方法中将其传回来,然后才能在异步加载图片的回调方法中用 listView.findViewWithTag();


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值