我遇到了有关RecyclerView#Adapter
的notifyItemRangeChanged
问题。看来,如果Adapter
认为从上次调用0
以来它的大小为getItemCount
,然后我调用Adapter#notifyItemRangeChanged(0, 1)
,那么Adapter
只会忽略该调用(例如,不会导致插入新项)。
这是预期的行为吗?
最佳答案
简短的回答:是的。
从 notifyDataSetChanged()
上的文档(是的,我知道不同的方法,但是在这里只是引用它,因为它解释了项目更改和结构更改之间的区别):
现在阅读有关 notifyItemRangeChanged()
的文档(我的重点):
那应该回答你的问题。您正在进行结构上的更改(也就是说,您要添加一个项目),因此notifyItemRangeChanged()
不是合适的调用方法。相反,您应该调用 notifyItemRangeInserted()
(或它的单数形式),它确实表明进行了结构上的更改。
关于android - RecyclerView notifyItemRangeChanged不显示新数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32769009/