Android 必须在notifyItemInserted之后调用

Android 必须在notifyItemInserted之后调用,android,Android,必须在调用RecyclerView.Adapter后调用? 有这么多的例子,所以他们总是调用notifyItemRangeChanged后,notifyItemInserted,但我不确定这是不是真的正确?如果这是正确的,解释是什么?如果您不需要调用notifyItemRangeChanged,否则它将是notifyItemInserted的一部分,那么会是什么情况呢?没有规则,因为一个方法应始终位于另一个方法之前 如果添加了新项目,则调用notifyitemserted。如果项目已更改,请调用

必须在调用RecyclerView.Adapter后调用?
有这么多的例子,所以他们总是调用notifyItemRangeChanged后,notifyItemInserted,但我不确定这是不是真的正确?如果这是正确的,解释是什么?如果您不需要调用notifyItemRangeChanged,否则它将是notifyItemInserted的一部分,那么会是什么情况呢?

没有规则,因为一个方法应始终位于另一个方法之前

如果添加了新项目,则调用
notifyitemserted
。如果项目已更改,请调用
notifyItemRangeChanged


如果添加了一些项,而更改了一些项,则必须使用各自的位置作为参数来调用这两个方法。您可以按任何顺序调用方法,但根据顺序,动画和必须传递给方法的位置可能会发生更改。

根据RecyclerView的文档:

有两类不同的数据更改事件,项目更改结构更改项目更改是指单个项目的数据已更新,但未发生位置更改在数据集中插入、删除或移动项目时,结构更改是

notifyItemInserted

这是一个结构性变化事件

notifyItemRangeChanged

是项更改事件

什么情况下你不需要打电话 NotifyItemRange已更改,否则它将成为 插入了什么

notifyItemInserted
时,不必总是调用
notifyItemRangeChanged
,因为它们都有不同的用途

简单地说,如果向现有适配器的数据集中添加新行/数据,则应调用
notifyitemserted

如果批量修改适配器数据集中的某些数据,而不添加、移动或删除适配器数据集的内容,请调用
notifyItemRangeChanged
。对于单个项目更改,请使用
notifyItemChanged