问题描述
我有一个带有两个嵌套回收器视图的MVP应用程序。视图持有者现在负责处理视图更改,例如可见性更改。但是我的视图持有者内部还混合了逻辑和数据,如何订购呢?
我开始为每种产品的Views and Actions订立合同。每个RecyclerView应该具有自己的View Interface和Presenter?鉴于ViewHolder拥有对itemView
的控制权,它应该扩展View接口吗?
解决方法
您可以重用已有的演示者,使用所需的方法扩展当前的View合同。对于较小的界面,最好是使用适配器ViewHolders的其他视图界面,而对于Fragment / Activity则使用不同的界面。
您可以在演示者中指定将绑定适配器中的被动视图的特殊功能,例如:
Preferences > Settings > Pylint -> Path to Pylint exectuable
presenter.bindProductViewHolder(viewHolder,position....)
实现了上面建议的较小接口。