当RecyclerView中的notifyDataSetChanged时如何使指定的项目不更新

L. *_*ter 2 android notifydatasetchanged android-recyclerview

我有一个项目,RecyclerView当我打电话时不需要更新notifyDataSetChanged

但是我没有找到任何方法可以使指定的项目避免更新。是否有可能做到这一点 ?


我需要这样做,因为该项目是一个WebView,它已经加载了一个 html 页面,如果我调用notifyDataSetChanged,该项目将闪烁。

为什么我张贴这个问题的原因是避免的闪光灯WebViewnotifyDataSetChanged(见这quesion)。在使用notifyItemRangeXXX方法失败后,我发布了这个问题。

但是看了大家的回答和评论后,好像在使用notifyDataSetChanged.

Ari*_*Roy 5

是的,它实际上可以这样做。notifyDataSetChanged()通知 RecyclerView数据集中的所有元素都已更改

因为您不希望这种情况发生并排除特定项目。

for(int i = 0; i< mAdapter.getItemCount(); i++){
    if(i != itemPositionToExclude){
       mAdapter.notifyItemChanged(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,我们需要遍历适配器中的所有元素并notifyItemChanged()仅调用这些位置which you do not want to exclude