簡體   English   中英

從 RecyclerView 中刪除最后一項不起作用

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM