您的位置:首页 > 其它

RecyclerView 更新单个item时,闪烁问题的处理

2016-12-22 10:48 190 查看

情景描述

1、调用mAdapter.notifyItemChanged(position);时,会重复加载图片,出现占位图等。

2、根据tag标记判断是否加载,不起作用。

原因

重复加载的原因就是onBindViewHolder的重复调用。而tag不起作用的原因则是每次更新都会使用一个新的holder。使用新的holder的原因则是RecyclerView默认有一个新旧两个状态的过渡动画,使用这个动画才会有新的holder出现。

解决办法

原因已经知道了,解决办法也是有的,只要为RecyclerView加上下面的代码

mRecyclerView.setItemAnimator(null);


就可以避免新holder的生成,所以tag也就用了作用。

在stackoverflow上有人提出类似问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: