我在RecyclerView.Adapter
中设置RecycleView
,属于Activity
。此Activity
包含一个按钮。此适配器包含具有复选框的行。我想隐藏单击此按钮时所有行的复选框。
我在我的适配器中使用了ViewHolder的模式。
我正在考虑这个解决方案:
将我的活动作为参数传递给适配器的构造函数。此活动包含验证是否单击了按钮的方法。单击此按钮时,值会更改并调用notifyDataSetChanged()
。所以适配器显示/隐藏复选框。
基于MVP方法这是一个好主意吗?
答案 0 :(得分:0)
可能的解决方案:
每个视图持有者都与模型类相关。在此模型类中,您可以保存一个布尔值,指示相应的视图持有者是否应显示该复选框。 单击该按钮时,您可以迭代应该受影响的项目,并将布尔值更改为true。然后通知受影响项目的数据已更改。
适配器可以包含一个布尔值,指示是否应隐藏所有复选框。 每个视图持有者将在创建时接收适配器作为参考(而不是活动 - 这是不好的),并将检查此布尔值是否显示或隐藏复选框。 单击按钮时将更新适配器布尔值,然后将触发更改的通知数据。