0

我有一个包含菜单的视图,它允许您根据单击的位置浏览 5 个不同的部分。当您单击您没有更改页面时,您将隐藏其他部分并显示您询问的部分。要求一切都发生在同一个地方。

从视图来看很简单,因为每个部分都是不同的类,并且在视觉上它们是相互排斥的。我通过“获取”部分本身来访问每个部分的控件

从 Presenter 开始是一团糟,我不得不在 onBind() 方法上为单个演示者类的所有 5 个部分注册处理程序,并且事件的所有逻辑也都在那里,事件处理程序开始与类似的冲突名字。

在处理视图时,如何分解演示者?

查看示例

public interface MyView extends View { 

    public DeviceSettings getDeviceSection();       

    public Reports getReportsSection(); 

    public License getLicenseSection(); 

    public Support getSupportSection();

}
4

1 回答 1

1

您可以为每个部分创建PresenterWidgets/Views,然后将它们注入您的 MainPresenter。
您将处理程序添加到菜单中,然后根据单击的内容将相应的 PresenterWidget 添加/删除到您的内容槽。
您可以查看嵌套演示者示例。

于 2011-12-06T14:14:55.027 回答