从回收器视图中删除最后一项不起作用



我有一个回收者视图

用户可以删除或添加RecyclerView中的项目。

一切正常,直到RecyclerView达到 1 个元素。

当我需要删除最后一项时,它不会被删除。日志显示该项目已从ArrayList中删除,但仍显示在RecyclerView中。

删除最后一项时还需要更多的东西吗?

法典:

public void removeItem(int adapterPosition){
arrayList.remove(adapterPosition);
Log.. ///
}

adapterPosition为 0 时,它不会删除该项目。

我什至在方法中保留了一个断点,它仍然显示适配器位置为 0。

您需要调用notifyItemRemoved以通知RecyclerView该项目已被删除。 这在每次删除/删除时都是必要的,而不仅仅是最后一次,但如果您不这样做,它有时可能会巧合地工作。

也就是说,您的removeItem方法(假设它在您的Adapter上(应如下所示:

public void removeItem(int adapterPosition){
arrayList.remove(adapterPosition);
notifyItemRemoved(adapterPosition);
Log.. ///
}

最新更新