我有RecyclerView卡,我可以在位置0(頂部)添加並刪除列表中的任何卡。事情是,每張卡片都有一個「更多選項」按鈕,顯示每張卡片的PopupMenu參考。見截圖:
事情是,如果我想要一個動畫,我需要使用adapter.notifyItemInserted(0)
在添加,adapter.notifyItemRemoved(position)
後刪除。但是,如果我不使用adapter.notifyDataSetChanged()
,其他卡的ID將不會更新,如果我嘗試擴展PopupMenu或刪除任何其他卡,我會得到一個IndexOutOfBoundsException
,因爲我試圖使用一個不存在的ID (在刪除卡的情況下)。RecyclerView添加/刪除動畫,同時保持ID的更新
總之,我期待通知RecyclerView的單個項目操作,同時保持整個RV卡更新。
我試圖adapter.notifyItemRangeChanged(0, arrayList.size())
但它的作用一樣notifyDataSetChanged()
然後很明顯你的ID是錯誤選擇的...其他ID不應該改變當你刪除一個項目(ID應該是穩定的) – Selvin
@Selvin我不是手動設置ID 。 –
如果您想獲得幫助,請顯示您的代碼。 – Divers