我有一个包含菜单的视图,它允许您根据点击的位置浏览5个不同的部分。当您单击时没有更改页面时,您将隐藏其他部分并显示您询问的部分。要求所有事情都发生在同一个地方。
从视图简单而干净,因为每个部分都是不同的类,并且在视觉上它们是互斥的。我通过“获取”部分本身来访问每个部分的控件
从Presenter乱七八糟,我必须在onBind()方法上为该单个presenter类的所有5个部分注册处理程序,并且事件的所有逻辑也都在那里,事件处理程序开始与相似的名字冲突。
我如何在使用视图时分解Presenter?
查看示例
public interface MyView extends View {
public DeviceSettings getDeviceSection();
public Reports getReportsSection();
public License getLicenseSection();
public Support getSupportSection();
}
答案 0 :(得分:1)
您可以为每个部分创建PresenterWidgets/Views,然后将其注入MainPresenter
您可以在菜单中添加处理程序,然后根据单击的内容添加/删除相应的PresenterWidget到内容插槽。
您可以查看nested presenter示例。