最近功能开发中遇见imageLoader加载图片错位问题,记录一下
解决方案:
1.每次getView时将ViewHolder holder=null;(之前将holder在adapter中设成成员变量,一直加载错位,后改为局部变量)
2.位图片设置tag
holder.img_goods.setTag(url);
再imageLoader.displayImage(url, holder.img_goods, options, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String s, View view) {
finalHolder.img_goods.setImageResource(R.mipmap.zhanwei0);
}
@Override
public void onLoadingFailed(String s, View view, FailReason failReason) {
finalHolder.img_goods.setImageResource(R.mipmap.zhanwei0);
}
@Override
public void onLoadingComplete(String s, View view, Bitmap bitmap) {
if (url.equals(finalHolder.img_goods.getTag())) {
finalHolder.img_goods.setImageBitmap(bitmap);
}
}
@Override
public void onLoadingCancelled(String s, View view) {
finalHolder.img_goods.setImageResource(R.mipmap.zhanwei0);
}
});
后问题解决。