RecyclerView的物品如何相互影响

时间:2019-07-09 00:32:47

标签: android android-recyclerview

在我的recyclerView中,带有复选框的选项很少。我需要这些选项能够相互通信,该怎么办?

我猜这些函数应该用onBindViewHolder()编写,但是我不确定该怎么做。 我通过互联网搜索,但是找不到解决问题的类似方法。

例如:

-------------------------
1. All (With Checkbox)
-------------------------
2. Banana (With Checkbox)
-------------------------
3. Apple (With Checkbox)
-------------------------
4. Meat (With Checkbox)
-------------------------
5. Coconut (With Checkbox)
-------------------------

因此,当我选中“全部”选项时,必须使用onCheckedChangeListener()自动检查其余复选框。

我遇到的主要问题是,我不知道该项目如何影响Recyclerview中的另一个项目。

2 个答案:

答案 0 :(得分:0)

有很多方法可以解决这个问题

例如您可以将isChecked属性添加到模型中

public class Fruit {
  private Boolean isChecked;
}

然后在每个项目的OnClickListener中将其设置为true / false。您可以在OnBindViewHolder中检查它的值以显示已选中/未选中的UI复选框

对于全选选项,您可以设置

isChecked = true

用于列表中的所有项目。

答案 1 :(得分:0)

这就是您想成为的人吗? enter image description here

我认为:  首先,我们需要为Fruit添加一个属性以使用CheckBox,例如:isFresh,...  其次,在勾选CheckBox时更改dataList(传递给RecyclerView Adapter)。  第三,使用adapter.notifyDataSetChanged()更新RecyclerView UI。

按照我的github获取详细信息:https://github.com/pvnhat/ArchitectureComponentDemo/pull/2