我有一个回收者视图
用户可以删除或添加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.. ///
}