0

我在客户端使用 GWT 和活动和地点。我有一个布局(LeftSide - CenterSide - RightSide),每一面都有自己的 ActivityMapper + Activity + View。

我想将动态视图(有活动)添加到侧面。例如,如果用户的性别是男性,则在左侧显示 AView+APresenter 和 BView+BPresenter;但如果用户的性别是女性,则只显示 BView+BPresenter。

有人可以帮助我如何做到这一点吗?

谢谢

4

1 回答 1

1

您必须创建一个在需要时ActivityMapper返回的第四个null
当传递一个小部件时,它的显示区域 ( AcceptsOneWidget) 可能会缩小/消失null

有关更多上下文和一些示例代码,请参阅http://blog.ltgt.net/gwt-21-activities-nesting-yagni/

但是,如果您因用户而异,并在您的应用程序之外进行身份验证(这意味着应用程序加载了一个已知用户,然后它永远不会更改,或者应用程序为其他用户重新加载),那么您可以简单地在启动时决定 ( ) 是否与它的and一起onModuleLoad创建第四个: ActivityMapperActivityManagerAcceptsOneWidget

if (user.getGender() == Gender.MALE) {
  SimplePanel display = new SimplePanel();
  parent.add(display);

  ActivityManager manager = new ActivityManager(new MaleSpecificActivityMapper(), eventBus);
  manager.setDisplay(display);
}
于 2012-10-18T08:43:35.857 回答