java - GWT:AbstractActivity 和 AcceptsOneWidget 之间的关系?

标签 java gwt

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

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

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

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

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

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

最佳答案

该 Activity 不(不应该)依赖于它的显示位置,因此它传递了一个表示该显示区域的 AcceptsOnWidget显示区域并且它应该将自身(或其 View 或其他内容)设置为该显示区域的小部件。

Activity 的显示位置(即 AcceptsOneWidget 参数的值)是通过 ActivityManager 上的 setDisplay 定义的:

  1. ActivityManager 控制显示区域
  2. 它向其ActivityMapper询问给定Place的 Activity
  3. 启动此 Activity ,并将显示区域作为参数传递给它
  4. 当 Activity 准备就绪时,它会在该显示区域显示自身

关于java - GWT:AbstractActivity 和 AcceptsOneWidget 之间的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13079554/

相关文章:

performance - GWT Grid - 如何测量客户端的渲染时间

java - HtmlUnit 仅显示 GWT 应用程序的主机 HTML 页面

gwt - 多模块 Maven POM

java - 手动设置文件上传的文件名

java - 导航 View 创建产生错误和崩溃 Activity

java - 大于 $75 的正则表达式

java - Android- 将 ARGB_8888 位图转换为 3BYTE_BGR

java - 如何让 ScriptEngine 运行多个 javascript 文件?

java - 如何使用 Java RMI 创建多个服务器?

java - GWT + Hibernate + HSQLDB