[英]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.