LiveData 正在复制 MutableList

LiveData is duplicating MutableList

我想在 Firestore 中发生数据更改时更新我的​​ Recyclerview 项目。 所以我的 activity 有以下代码:

taskViewModel.fetchedTaskLiveData.observe(
   this, Observer {
    if (it != null) {
     todoListAdapter.setListData(it)
     showRecyclerView()
   }

内部适配器 setListData 方法:

fun setListData(data: MutableList<Todo>) {
        //this.todoList.clear()
        this.todoList.addAll(data)
        notifyDataSetChanged()
    }

在这种情况下,每当获取更改列表时,Recyclerview 都会复制并添加更改的列表 列表低于旧列表。

如果 "this.todoList.clear()" 未注释,列表将被清除并且数据更改时不会显示任何数据。

我尝试了所有可能的解决方案,但我认为某处遗漏了一部分。卡住了很久。 非常感谢各种建议。

所以我一直坚持这个,并在 12 小时后发现了一个微小的变化。 我通过将 for 更改为 forEach 来更正它,这改变了游戏。

此外,我在添加项目之前清空列表项目。

todoList.clear()