recyclerview呼叫通知已造成空白项目



RecyclerView调用 notifyItemChanged()导致空白条目

我有一个RecyclerView,每个子项目都有一个RecyclerView,当RecyclerView的数据集已更改时(例如,插入了某些项目)。我尝试调用父 RecyclerViewnotifyItemChanged()来刷新它。但是当我调用该功能时,它将导致下面的空白项目。

mMessagesAdapter.notifyItemChanged(position);

当我致电notifyItemChanged()担任位置时,下面会有一个空白的项目,可以看到,但是没有数据,并且都是白色的。

演示:https://github.com/zoodeveloper/nestbug

adapter.notifyItemChanged()用于刷新现有项目。如果要添加新项目,则应致电adapter.notifyItemRangeChanged(position, data.size())

如果要插入新项目,则可以使用notifyItemInserted (int position)

它用于通知任何注册的观察者,该项目反映了 在位置已被新插入。先前处于位置的项目 现在位于位置 1。

也许您应该考虑从主线程调用apapter.notifyitemchanged()。

Handler mainHandler = new Handler(Looper.getMainLooper());
Runnable myRunnable = new Runnable() {
   @Override 
   public void run() { adapter.notifyItemChanged() } 
};
mainHandler.post(myRunnable);

最新更新