美文网首页
RecyclerView 更新单个item时,闪烁问题的处理

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

作者: Pin_ZL | 来源:发表于2017-08-02 14:12 被阅读0次

    最近在做一个计时的项目,全局监听计时状态,那计时列表也需要实时更新,但是在更新,调用timeAdapter.updateItem(item);时,发现item在不停的闪烁,添加tag也不起作用。

    后来看源码在知道,闪烁的原因就是onBindViewHolder的重复调用。而tag不起作用的原因则是每次更新都会使用一个新的holder。使用新的holder的原因则是RecyclerView默认有一个新旧两个状态的过渡动画,使用这个动画才会有新的holder出现。

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


    recyclerView.setItemAnimator(null);

    这样就可以避免新holder的生成,从而避免item闪烁。

    相关文章

      网友评论

          本文标题:RecyclerView 更新单个item时,闪烁问题的处理

          本文链接:https://www.haomeiwen.com/subject/synelxtx.html