Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/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
当每个位置的屏幕布局发生变化时,GWT使用活动和位置_Gwt_Gwt Activities_Gwt Places - Fatal编程技术网

当每个位置的屏幕布局发生变化时,GWT使用活动和位置

当每个位置的屏幕布局发生变化时,GWT使用活动和位置,gwt,gwt-activities,gwt-places,Gwt,Gwt Activities,Gwt Places,我对GWT活动和场所的理解是,对于屏幕上的给定区域,您有一个ActivityManager和一个ActivityMapper。屏幕上可以有多个区域,这意味着您可以有多个ActivityManager和ActivityMapper(每个区域一个)。因此,每当有PlaceChange时,activitymanager询问各自的ActivityMapper给定Place应该显示什么活动。只要您的位置都有一个共同的布局,它们可以以不同的方式重复使用,以执行不同的活动,这就非常有效。我的问题是,我们如何处

我对GWT活动和场所的理解是,对于屏幕上的给定区域,您有一个
ActivityManager
和一个
ActivityMapper
。屏幕上可以有多个区域,这意味着您可以有多个
ActivityManager
ActivityMapper
(每个区域一个)。因此,每当有
PlaceChange
时,
activitymanager
询问各自的
ActivityMapper
给定
Place
应该显示什么活动。只要您的
位置
都有一个共同的布局,它们可以以不同的方式重复使用,以执行不同的活动,这就非常有效。我的问题是,我们如何处理不同的
位置使用完全不同的布局的情况?我的第一个想法是,只要有更多的
activitymanager
ActivityMapper
,如果
Place
没有使用特定的区域,那么当我们更改到该
Place
时,该区域的
ActivityMapper
就会简单地返回
null
。如果有更好的方法,我将不胜感激。

我发现在整个应用程序中使用单个ActivityMapper/ActivityManager对要容易得多

在典型情况下,您有一个“菜单”区域和一个“主”区域。菜单区域非常基本:单击菜单项会将用户发送到新位置。它还会高亮显示新选定的项目,并重置以前选定项目的样式。所有这些都可以在一个简单的小部件中轻松完成,您可以在需要此菜单的所有视图中包含该小部件。在菜单区域使用单独的ActivityMapper和ActivityManager只会使一切变得复杂,而不会带来任何好处

我对“顶部菜单”区域和“左侧菜单/树”区域使用相同的方法:一个小部件,告诉演示者在“主”区域显示哪些数据


我的应用程序中有50多个不同的地方,有一个简单的架构真的很有帮助:每个地方对应一个视图和一个活动。

我认为没有更好的方法了。谢谢你,那篇文章很完美。你是否注意避免在一个地方进行多个活动,这样你就可以使用该结构,或者在使用单个ActivityManager/ActivityMapper时,你是否仍有办法支持多个活动?我避免使用多个活动。我从未遇到过这样的UI设计,即两个区域同时参与一种复杂且独立的行为,从而保证每个区域都有专门的活动。我想这样的设计是可能的,但我相信为菜单或树创建一个专门的活动会产生更多的问题。