notifyItemRangeChanged

notifyItemRangeChanged

我遇到了有关RecyclerView#AdapternotifyItemRangeChanged问题。看来,如果Adapter认为从上次调用0以来它的大小为getItemCount,然后我调用Adapter#notifyItemRangeChanged(0, 1),那么Adapter只会忽略该调用(例如,不会导致插入新项)。

这是预期的行为吗?

最佳答案



简短的回答:是的。

notifyDataSetChanged() 上的文档(是的,我知道不同的方法,但是在这里只是引用它,因为它解释了项目更改结构更改之间的区别):



现在阅读有关 notifyItemRangeChanged() 的文档(我的重点):



那应该回答你的问题。您正在进行结构上的更改(也就是说,您要添加一个项目),因此notifyItemRangeChanged()不是合适的调用方法。相反,您应该调用 notifyItemRangeInserted() (或它的单数形式),它确实表明进行了结构上的更改。

关于android - RecyclerView notifyItemRangeChanged不显示新数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32769009/

10-12 05:48