Android 必须在notifyItemInserted之后调用
必须在调用RecyclerView.Adapter后调用?Android 必须在notifyItemInserted之后调用,android,Android,必须在调用RecyclerView.Adapter后调用? 有这么多的例子,所以他们总是调用notifyItemRangeChanged后,notifyItemInserted,但我不确定这是不是真的正确?如果这是正确的,解释是什么?如果您不需要调用notifyItemRangeChanged,否则它将是notifyItemInserted的一部分,那么会是什么情况呢?没有规则,因为一个方法应始终位于另一个方法之前 如果添加了新项目,则调用notifyitemserted。如果项目已更改,请调用
有这么多的例子,所以他们总是调用notifyItemRangeChanged后,notifyItemInserted,但我不确定这是不是真的正确?如果这是正确的,解释是什么?如果您不需要调用notifyItemRangeChanged,否则它将是notifyItemInserted的一部分,那么会是什么情况呢?没有规则,因为一个方法应始终位于另一个方法之前 如果添加了新项目,则调用
notifyitemserted
。如果项目已更改,请调用notifyItemRangeChanged
如果添加了一些项,而更改了一些项,则必须使用各自的位置作为参数来调用这两个方法。您可以按任何顺序调用方法,但根据顺序,动画和必须传递给方法的位置可能会发生更改。根据RecyclerView的文档: 有两类不同的数据更改事件,项目更改和结构更改项目更改是指单个项目的数据已更新,但未发生位置更改在数据集中插入、删除或移动项目时,结构更改是
notifyItemInserted
这是一个结构性变化事件
notifyItemRangeChanged
是项更改事件
什么情况下你不需要打电话
NotifyItemRange已更改,否则它将成为
插入了什么
当notifyItemInserted
时,不必总是调用notifyItemRangeChanged
,因为它们都有不同的用途
简单地说,如果向现有适配器的数据集中添加新行/数据,则应调用notifyitemserted
如果批量修改适配器数据集中的某些数据,而不添加、移动或删除适配器数据集的内容,请调用notifyItemRangeChanged
。对于单个项目更改,请使用notifyItemChanged