Android ListView图片异步加载时,图片错位的问题
来源:互联网 发布:买域名送空间 编辑:程序博客网 时间:2024/06/10 20:10
当 Item1 比 Item8 图片下载的快时, 你滚下去使 Item8 可见,这时 ImageView 的 tag 被设成了
Item8 的 URL, 当 Item1 下载完时,由于 Item1 不可见现在的 tag 是 Item8 的 URL,所以不满足条件,
虽然下载下来了但不会设置到 ImageView 上, tag 标识的永远是可见 view 中图片的 URL。
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = LayoutInflater.from(context).inflate(
R.layout.list_item, null);
holder.img = (ImageView) convertView.findViewById(R.id.userimage);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
User user = list.get(position);
// 给 ImageView 设置一个 tag
holder.img.setTag(user.getImgUrl());
// 预设一个图片
holder.img.setImageResource(R.drawable.ic_launcher);
final String tmpImageUrl = user.getImgUrl();
if (user.getImgUrl() != null && !user.getImgUrl().equals("")) {
Bitmap bitmap = imageLoader.loadImage(holder.img, user.getImgUrl(),
new ImageDownloadCallBack() {
@Override
public void onImageDownloaded(ImageView imageView,
Bitmap bitmap) {
// 通过 tag 来防止图片错位
if (imageView.getTag() != null
&& imageView.getTag().equals(tmpImageUrl)) {
imageView.setImageBitmap(bitmap);
}
}
});
if (bitmap != null) {
holder.img.setImageBitmap(bitmap);
}
}
return convertView;
}
- Android ListView图片异步加载时,图片错位的问题
- Android ListView异步加载图片错位问题
- Android ListView 异步加载图片错位的问题
- Android ListView 异步加载图片错位的问题
- Android ListView 异步加载图片错位的问题
- android listview 异步加载图片时出现图片错位、刷新问题的简单解决
- Android ListView加载图片错位的问题
- Android的ListView异步加载图片时,错位、重复、闪烁问题的分析及解决方法
- android开发中解决ListView异步加载图片错位问题
- 解决Android ListView中图片异步加载错位问题
- -------------解决Android ListView中图片异步加载错位问题
- Android ListView异步加载图片错位问题解析
- android中ListView异步加载图片时的图片错位问题解决方案
- android中ListView异步加载图片时的图片错位问题解决方案(1)
- android中ListView异步加载图片时的图片错位问题解决方案
- android中ListView异步加载图片时的图片错位问题解决方案
- ListView异步加载图片时出现错位的解决方案
- 使用Volley的imageRequest加载图片实例(含listview异步加载图片错位问题)
- “治理”微信们:国家“专项行动”的商业反响
- json 入门指南
- 拦截导弹
- 测试一下足迹
- 一族巧用网络来脱光浏览
- Android ListView图片异步加载时,图片错位的问题
- Java中String和Date、Timestamp之间的相互转换
- Linux-DNS配置 安装oracle11g rac
- hashmap与pojo的组装工具
- 许鹏:从零开始学习,Apache Spark源码走读(一)
- jQuery 中console.log什么意思
- grep查看匹配行的上下行
- Java面向对象 Object类 内部类
- 爱上地方