单击按钮时隐藏复选框

Hide checkboxes when button is clicked

我在属于 ActivityRecycleView 中设置了 RecyclerView.Adapter。此 Activity 包含一个按钮。此适配器包含具有复选框的行。单击此按钮时,我想隐藏所有行的复选框。 我在我的适配器中使用 ViewHolder 的模式。

我在考虑这个解决方案:

将我的 activity 作为参数传递给适配器的构造函数。此 activity 包含一种验证按钮是否被单击的方法。单击此按钮时,值会更改并调用 notifyDataSetChanged()。所以适配器 shows/hides 复选框。

基于 MVP 方法,这是个好主意吗?

可能的解决方案:

  • 每个视图持有者都与一个模型相关 class。在此模型 class 中,您可以持有一个布尔值,指示相应的视图持有者是否应显示复选框。 单击该按钮后,您可以遍历应受影响的项目并将布尔值更改为 true。然后通知受影响项目的数据更改。

  • 适配器可以保存一个布尔值,指示是否应隐藏所有复选框。 每个视图持有者将在创建时收到适配器作为参考(而不是 activity - 这是不好的)并将检查此布尔值是否显示或隐藏复选框。 适配器布尔值将在单击按钮时更新,然后将触发通知数据更改。