recyclerview刷新闪烁问题

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

  notifyDataSetChanged()

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

 notifyItemRangeInserted(positionStart  ,count)  

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

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

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

你可能感兴趣的:(recyclerview刷新闪烁问题)