我正在使用GWT 2.6开发应用程序。
现在我有一项任务是在运行时实现在简单/专家模式(视图)之间切换的功能。这意味着显示可能包含其他小部件的简化版本的视图。 但问题是大多数情况下的所有观点都是静态的"并定义为单身人士(使用GIN)。
是否可以仅使用GWT实现这一点,我应该用它来制作它?。
答案 0 :(得分:2)
有很多方法可以做到这一点。我想到了几个想法:
选项1。
不是使用GIN注入视图,而是注入视图提供程序(com.google.inject.Provider
)。这可以由构建视图(活动?)的代码使用以获取视图。然后,视图提供者的实现可以返回相关模式的视图实现,简单或专家。例如,
@Inject
public ComposeMessageActivity(Provider<ComposeMessageView> viewProvider, ...) { ... }
@Override
public final void start(final AcceptsOneWidget panel, final EventBus eventBus) {
view = viewProvider.get();
选项2。
使用deferred binding。这不是那么动态,但具有以下优点:简单的实现将比专家实现更小的下载。 github上有一个项目gwt-seminar,它在实践中显示了具有移动和桌面版本的项目。