1. 程式人生 > >Android 基於RecyclerView實現批量操作

Android 基於RecyclerView實現批量操作



程式碼很簡單,就是對Item的根據局添加了單擊,長按,checkbox的單擊事件,利用介面回撥將事件傳遞到Activity主介面。可以看到在checkbox的單擊事件中,我們根據當前checkbox的選中狀態對實體類的isSelect進行賦值,儲存下當前的狀態,避免複用帶來的多選問題。
(2)實體類:

(3)處理點選事件:

上面程式碼中核心程式碼在checkbox的點選回撥事件中:checkBoxClick:
下面來看addOrRemove方法:

該方法中我們使用HashSet型別的positionSet變數儲存選中的Item的Position。即點選checkbox分兩種狀態:選中,取消選中。即分別對應了選中將position新增到positionSet集合和取消選中將對應的Position從positionSet中刪除。最後當positionSet的集合為0時,即最後一個Item取消選中,下面的選單開啟動畫隱藏。
(4)刪除操作:

相信大家都知道什麼意思了,很簡單,就是對集合中的資料進行操作,將positionSet集合中儲存的Postion對應的資料取出,然後從資料集合中刪除對應資料,呼叫notifyDataSetChanged方法來更新列表。最後別忘記清空positionSet集合(代表了本次刪除的操作結束)。
(5)全選:

當Item沒有全選時,點選全選,Item被全部選中。反之,取消全選。很簡單,相信大家一看就明白,不多說了。
到此,基本上對於RecyclerView的批量刪除,全選操作功能就全部實現了,基本的核心點就是對集合資料的刪除,以及使用一個標示來標誌該項的選中狀態。
好了,今天的內容就到這裡啦~有問題的朋友可以留言。
原始碼下載