GWT:AbstractActivity 和 AcceptsOneWidget 之间的关系?



如果创建一个AbstractActivity子类,则必须定义以下方法:

@Override
public void start(AcceptsOneWidget panel, EventBus eventBus) {
// ...
}

这是否意味着相同的AbstractActivity可以用不同的显示区域"启动"?有人能提供一个具体的例子来说明从用户体验(UX)的角度来看,这将如何发生吗?

换句话说,如果我能说someActivity.start(displayRegion1, eventBus),或者someActivity.start(displayRegion2, eventBus),那么对我来说,这意味着:

  1. 活动不一定与屏幕上的特定位置相关联,因此可用于处理(在这种情况下,它实际上做了什么?)来自屏幕任何部分的显示区域(AcceptsOneWidgetimpl);或
  2. 活动与特定位置相关联,但或多或少是一个"查看器"类型的构造,能够传递任何显示区域并显示其内容。

有人可以向我解释这种关系吗?提前感谢!

活动不(不应该)依赖于它的显示位置,因此它传递了一个表示该显示区域的AcceptsOnWidget,它应该将自己(或其视图或其他)设置为该显示区域的小部件。

将显示活动的位置(即AcceptsOneWidget参数的值)在ActivityManager上定义setDisplay

  1. ActivityManager控制显示区域
  2. 它询问给定Place的活动ActivityMapper
  3. start此活动将显示区域作为参数传递给它
  4. 活动准备就绪后,将在该显示区域中显示自身

最新更新