我有回收者 View
用户可以在 RecyclerView
中删除或添加项目。
一切正常,直到 RecyclerView
达到 1 个元素。
当我需要删除最后一项时,它没有被删除。日志显示该项目已从 ArrayList 中删除,但仍显示在 RecyclerView 中。
删除最后一项时还需要什么吗?
代码:
public void removeItem(int adapterPosition){
arrayList.remove(adapterPosition);
Log.. ///
}
当 adapterPosition
为 0 时,不会删除该项目。
我什至在方法中保留了一个断点,但它仍然显示adapterPosition为0。
最佳答案
您需要调用notifyItemRemoved
以通知RecyclerView
该项目已被删除。这对于每次删除/删除都是必要的,而不仅仅是最后一次,但如果您不这样做,有时可能会出现巧合。
也就是说,您的 removeItem
方法(假设它位于您的 Adapter
上)应如下所示:
public void removeItem(int adapterPosition){
arrayList.remove(adapterPosition);
notifyItemRemoved(adapterPosition);
Log.. ///
}
关于java - 从 RecyclerView 中删除最后一项不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62279905/