Adapter刷新时,列表中ImageView闪烁
来源:互联网 发布:新日铁住金软件 待遇 编辑:程序博客网 时间:2024/06/05 05:31
应用场景:图片列表,数据发生改变调用 adapter.notifyDataSetChanged()时,图片重新加载导致闪烁抖动。
原因:notifyDataSetChanged()会重新加载数据
解决方案:图片地址未发生改变时,不需要重新加载,通过设置setTag()的方式判断数据是否发生改变,从而决定是否重新记载,不重新加载就不会发生闪烁
eg:
未处理前
Item item = list.get(position); ImageLoader.display(item.getImage(), holder.image);
处理后
Item item = list.get(position);if(!item.getImage().equals(holder.image.getTag())){ ImageLoader.display(item.getImage(), holder.image); holder.image.setTag(item.getImage());}
But……………然并卵
listView滑动时因为Holder的重用(没有使用相同的ViewHolder)导致图片显示错误
解决办法:
使用RecycleView
使用RecycleView的notifyItemRangeChanged(int positionStart, int itemCount)局部刷新取代notifyDataSetChanged(),同时设置((SimpleItemAnimator)recycleView.getItemAnimator()).setSupportsChangeAnimations(false);取消动画效果
阅读全文
1 0
- Adapter刷新时,列表中ImageView闪烁
- 使用adapter的notifyDataSetChanged时列表数据没有刷新
- android 解决在列表条目中刷新或者加载 Glide 圆形头像会闪烁,位置错乱
- ImageView、Adapter
- ogre mfc刷新时闪烁
- 刷新ListView刷新时的闪烁问题
- Android中刷新列表
- Fragment中adapter刷新无效的解决办法
- adapter刷新
- 定时刷新页面时不让页面闪烁
- 如何使刷新时画面不闪烁
- 双缓冲避免刷新时的闪烁
- 解决RecyclerView局部刷新时闪烁
- 由于Android列表视图复用到之后的Imageview异步加载图片时候闪烁问题
- 如何在VB中避免动态刷新图片时的闪烁问题
- 解决RecyclerView中使用UIL加载网络图片,在刷新时出现闪烁问题
- 解决C#中ListView数据刷新时界面闪烁的问题
- 关于在RecyclerView中使用UniversalImageLoader加载图片刷新数据时引起的闪烁问题
- codeforce 766D Mahmoud and a Dictionary 带权并查集
- hdu6090 数学思维+完全图+星形图的了解
- bzoj 1901: Zju2112 Dynamic Rankings(离线树状数组+主席树)
- Android 自定义圆形头像
- Js_面向对象和多媒体
- Adapter刷新时,列表中ImageView闪烁
- Interface是否继承了Object类
- 那些年寮里的崽儿们 CSU
- 设计模式学习笔记十三:外观模式(Facade Pattern)
- 进程的一些基本知识
- c++ map中的erase()使用误区
- 0809Memo
- 还有人用JBuilder9吗? 又被恶心了一回
- 进程控制