Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android MVP嵌套RecyclerViews-在何处管理视图更改_Android_Design Patterns_Android Recyclerview_View_Mvp - Fatal编程技术网

Android MVP嵌套RecyclerViews-在何处管理视图更改

Android MVP嵌套RecyclerViews-在何处管理视图更改,android,design-patterns,android-recyclerview,view,mvp,Android,Design Patterns,Android Recyclerview,View,Mvp,我有一个MVP应用程序,它有两个嵌套的回收器视图。视图持有者现在负责处理视图更改,例如可见性更改。但我的视图持有者中也混合了逻辑和数据,我怎么能订购这个呢 我开始为每一个产品写一份合同,包括观点和行动。每个RecyclerView都应该有自己的视图界面和演示者?鉴于ViewHolder可以控制itemView,它应该扩展一个视图界面?您可以重用已有的演示者,使用所需的方法扩展当前视图契约。更喜欢较小的界面,在您的情况下,不同的视图界面适合您的适配器视图持有者,不同的界面适合您的片段/活动 您可以

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


我开始为每一个产品写一份合同,包括观点和行动。每个RecyclerView都应该有自己的视图界面和演示者?鉴于ViewHolder可以控制
itemView
,它应该扩展一个视图界面?

您可以重用已有的演示者,使用所需的方法扩展当前视图契约。更喜欢较小的界面,在您的情况下,不同的视图界面适合您的适配器视图持有者,不同的界面适合您的片段/活动

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

presenter.bindProductViewHolder(viewHolder,position…)


其中,
viewHolder
实现了上面建议的较小界面。

因此,您建议viewHolder保留对我当前演示者的引用?@agustimagne否。适配器应保留对演示者的引用。