如果您创建 AbstractActivity
子类,则必须定义以下方法:
@Override
public void start(AcceptsOneWidget panel, EventBus eventBus) {
// ...
}
这是否意味着相同的AbstractActivity
可以在不同的显示区域“启动”?有人可以从用户体验(UX)的角度提供一个具体的例子来说明这是如何发生的吗?
换句话说,如果我可以说 someActivity.start(displayRegion1, eventBus)
或 someActivity.start(displayRegion2, eventBus)
,那么对我来说这意味着要么:
- Activity 不一定与屏幕上的特定位置相关联,因此可以用于处理(在这种情况下,它实际上做什么)屏幕任意部分的显示区域(
AcceptsOneWidget
impl);或 - Activity 与特定位置相关联,但或多或少是一种“查看器”类型构造,能够传递任何显示区域并显示其内容。
有人可以向我解释一下这种关系吗?提前致谢!
最佳答案
该 Activity 不(不应该)依赖于它的显示位置,因此它传递了一个表示该显示区域的 AcceptsOnWidget
。显示区域并且它应该将自身(或其 View 或其他内容)设置为该显示区域的小部件。
Activity 的显示位置(即 AcceptsOneWidget
参数的值)是通过 ActivityManager
上的 setDisplay
定义的:
ActivityManager
控制显示区域- 它向其
ActivityMapper
询问给定Place
的 Activity - 它
启动
此 Activity ,并将显示区域作为参数传递给它 - 当 Activity 准备就绪时,它会在该显示区域中显示自身。
关于java - GWT:AbstractActivity 和 AcceptsOneWidget 之间的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13079554/