[英]Deleting last item from RecyclerView does not work
我有一个回收站视图
用户可以在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.. ///
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.