recyclerview刷新闪烁问题

列表在刷新数据的时候,发生数据的闪烁。根据我当前遇到的问题分析。item是由图文上下组成,文字部分有动态添加控件个数(如tag标签一个或者多个)。在加载更多进行刷新列表时,通常我们简单的就使用

  notifyDataSetChanged()

然而,这个方法是将整个列表全部刷新一遍。并不适用局部数据刷新。所以,在列表复用的过程中闪现了一下数据不对的情况。
正确的刷新应该是使用局部刷新方法

 notifyItemRangeInserted(positionStart  ,count)  

从positionStart指定的位置开始,刷新count条数据。不需要刷新的数据自然不会重新绘制。
但是这个方法我们发现,它是带有动画的,动画时间肉眼可见的长,依然会被测试人员提bug。
继续查阅相关资料,发现以下这个方法可以去掉动画。

 (mRecyclerView?.itemAnimator as DefaultItemAnimator).supportsChangeAnimations = false

前提,这句是必须写在recyclerview设置adapter之前才起作用。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容