2017-08-08 81 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

欢迎您:) –

相关问题