四、notifyDataSetChanged时导致图片闪烁
这个问题比较好解决,一句代码,
mRecyclerViewAdapter.setHasStableIds(true); - 1
要注意,使用上述代码的话,Adapter中的getItemId要重写成如下,如果仍用super.getItemId(position),数据刷新会出错。
@Override
public long getItemId(int position) {
return position;
}- 1
- 2
- 3
- 4
从源码角度来看,相当于我们平时给ImageView和图片做了一个tag绑定,检测到是url没变时,不再重新加载图片,也就不用重新计算、绘制,这样就避免了图片闪烁
本文介绍了一种解决RecyclerView中图片闪烁的问题的方法。通过设置Adapter的setHasStableIds为true,并重写getItemId方法返回position值,可以有效避免图片在数据刷新时出现闪烁现象。
7135

被折叠的 条评论
为什么被折叠?



