MVP Nested RecyclerViews - 在哪里管理视图更改

MVP Nested RecyclerViews - Where to manage view changes

我有一个带有两个嵌套回收器视图的 MVP 应用程序。视图持有者现在负责处理视图更改,例如可见性更改。但是我的 view holder 中也混合了逻辑和数据,我该如何订购它?

我开始为每个包含视图和操作的产品编写合同。每个 RecyclerView 都应该有自己的 View Interface 和 Presenter 吗?鉴于 ViewHolder 可以控制 itemView,它应该扩展一个视图接口吗?

您可以重用已有的presenter,用您需要的方法扩展当前的View contract。更喜欢较小的界面,在您的情况下,适配器 ViewHolders 的不同视图界面和 Fragment/Activity.

的不同界面

您可以在您的展示器中使用特殊功能来绑定适配器中的被动视图,例如:

presenter.bindProductViewHolder(viewHolder, position....)

其中 viewHolder 实现了上面建议的较小接口。