我对GWT的活动和地点的理解是,对于屏幕上的特定区域,您有ActivityManager
和ActivityMapper
。您可以在屏幕上显示多个区域,这意味着您可以拥有多个ActivityManagers
和ActivityMappers
(每个区域一个)。因此,只要有PlaceChange
ActivityManagers
ActivityMapper
,就Place
询问Places
应该展示的活动Places
。只要您的ActivityManagers
具有共同的布局,并以不同的方式重复执行不同的活动,这就非常有用。我的问题是我们如何处理不同ActivityMappers
使用截然不同的布局的情况?我的第一个想法就是拥有更多Place
和ActivityMapper
,如果null
没有使用特定区域,那么该区域的Place
将只返回{{ 1}}当我们改为{{1}}时。如果有更好的方式,我会欣赏任何智慧。
答案 0 :(得分:1)
我发现在整个应用程序中使用单个ActivityMapper / ActivityManager对要容易得多。
在典型情况下,您有一个“菜单”区域和一个“主”区域。菜单区域非常基本:单击菜单项会将用户发送到新位置。它还会突出显示新选择的项目并重置先前所选项目的样式。所有这一切都可以在一个简单的小部件中轻松完成,您可以在需要此菜单的所有视图中包含这些小部件。为菜单区域分别设置ActivityMapper和ActivityManager会使一切变得复杂,而不会带来任何好处。
我对“顶级菜单”区域和“左侧菜单/树”区域使用相同的方法:一个小部件,告诉演示者哪些数据显示在“主”区域。
我的应用程序中有50多个不同的地方,拥有一个简单的架构确实很有帮助:每个地方对应一个视图和一个活动。