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();


你可能感兴趣的:(android,ListView,String,null)