网络加载图片时显示错位的解决方法
来源:互联网 发布:linux tar 压缩文件夹 编辑:程序博客网 时间:2024/05/22 10:57
1.图片错位产生原因:
使用listview或者recycleview时,这两个空间内部的复用机制,再加上异步获取图片。会导致图片显示错位。
图片加载是异步任务,通过网络,访问服务器并拿到图片资源的时间是不定的,并且这个任务不在主线程中执行。
在异步访问网络的过程中,listview或者recycleview可能已经滑动,原先的convertview被复用,且被复用的convertview理应显示另一张图片,但是刚好,之前的异步任务执行完成了,显示在控件上。导致图片错位。
2.解决方法:
给listview或者recycleview的item中显示图片的控件,设置标志,即tag(通常为这个控件应该显示的图片的url地址)
viewHolder.iv_main.setTag(imgUrl);从网络获取完图片后,需要判断,此时这个控件身上的标志(imgUrl),是否与从网络上获取的图片的地址一样???
一样,才显示到控件上!!!
public void onLoadingComplete(String imageUrl, View view, Bitmap bitmap) { if (viewHolder.iv_main.getTag() != null && imageUrl.equals(viewHolder.iv_main.getTag())) { bitmap = CommonUtils.scallXinDianBitmap(bitmap); viewHolder.iv_main.setImageBitmap(bitmap); } }
0 0
- 网络加载图片时显示错位的解决方法
- 自定义加载网络图片工具: 三级缓存 解决图片显示错位的问题
- Android——listview加载网络图片错位解决方法
- Android的ListView异步加载图片时,错位、重复、闪烁问题的分析及解决方法
- Listview 设置两列异步加载网络图片,结果出现图片显示错位
- Android ListView图片异步加载时,图片错位的问题
- ListView异步加载图片时出现错位的解决方案
- 【Android】ListView加载网络图片(解决图片错位问题)
- AjaxControlToolkit CalendarExtender显示错位的解决方法
- listview图片错位的原因及解决方法
- ionic加载网络图片资源的解决方法
- Android ListView加载图片错位的问题
- listview 加载图片 的错位问题
- 关于页面加载图片错位的思考
- 解决图片加载错位的类
- 异步加载图片错位的问题
- 加载显示网络图片
- 图片加载错位
- (记者CNS小姚)发展中的韩国济州岛赌场博彩经济
- Unity3D与Mono编辑器的调试
- POJ 2236--Wireless Network【并查集】
- 海量数据处理分析
- (4.1.8.5)Android 使用Fragment,ViewPagerIndicator 制作csdn app主要框架
- 网络加载图片时显示错位的解决方法
- [Errno 14] problem making ssl connection问题解决
- iOS Category与Extension、Delegate的认识
- centos codeblocks 安装
- Bootstrap 定制和修改方法-perfect
- POJ 1125 Stockbroker Grapevine
- 对UE4动画通知的理解
- (4.1.8.6)Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager
- 如何update自己fork别人的代码