2012-10-18 145 views
0

我在客户端使用GWT,活动地点为&。 我得到了一个布局(LeftSide - CenterSide - RightSide),每边都有它自己的ActivityMapper + Activity + View。GoogleWebToolkit运行时动态布局活动

我想动态地将Views(With activity)添加到Sides。 例如,如果用户的性别是男性,则在左侧显示AView + APresenter和BView + BPresenter;但是如果用户的性别是女性,则只显示BView + BPresenter。

一个人可以帮我解我该怎么做?

感谢

+0

“我的GoTa布局”:那么你可以在启动时(onModuleLoad)是否创建第四ActivityMapper沿其ActivityManagerAcceptsOneWidget简单地决定? DockPanel中? “我该怎么做” - 问题是什么,到目前为止你做了什么? – Martin

回答

1

你必须创建第四ActivityMapper需要时返回null
它的显示区域(AcceptsOneWidget)在通过null小部件时可能收缩/消失。

有关更多上下文和一些示例代码,请参阅http://blog.ltgt.net/gwt-21-activities-nesting-yagni/。但是,如果您因用户而异,并且在应用程序外部进行身份验证(即应用程序已装载已知用户,并且它永远不会更改,或者该应用程序已重新加载给其他用户),但是, - 什么布局

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

    ActivityManager manager = new ActivityManager(new MaleSpecificActivityMapper(), eventBus); 
    manager.setDisplay(display); 
}