2017-08-08 74 views
1

我有recyclerview內的項目列表,並且它們可以多選。如何選擇在recyclerview中列出的所有項目?

我想要有選擇按鈕來選擇全部,如果選擇全部取消選擇。我沒有看到任何選項來遍歷RecyclerView.Adapter來做到這一點。我怎樣才能實現呢?

謝謝。

+0

你可以使用視圖來描述onbindviewholder中的選定圖像,如果條件決定是否顯示。即當單擊一個按鈕時設置該布爾值爲true並調用notifydatasetchange。它會再次迭代所有項目,如果布爾值設置爲true,則隱藏未選擇的圖像並在onbindviewholder中顯示選定的圖像。 – uguboz

回答

1

儘量保持選擇的項目列表和適配器的產品清單,

當您選擇「全選」按鈕,只需添加所有的項目在選定項目清單,並呼籲notifyDataSetChanged

只是須藤代碼

class adapter { 
    ArrayList<Item> selected = new ArrayList<Item>(); 
    ArrayList<Item> items = new ArrayList<Item>(); 

    public void selecteAll() { 
     selected.clear(); 
     selected.addAll(items); 
     notifyDataSetChanged(); 
    } 

    public void clearAll() { 
     selected.clear(); 
     notifyDataSetChanged(); 
    } 

    public void bindView() { 
     Item item = items.get(position); 

     if(selected.contains(item) { 
      // Do selected action 
     } else { 
      // Non selecetd ctions 
     } 
    } 

} 
+0

它工作。謝謝! – MmtBkn

+0

歡迎您:) –

相關問題