0

我正在为不同的外形开发一个网络应用程序。每个都有自己的客户端工厂来创建依赖于外形的视图。到目前为止,一切工作正常,但在编辑器框架方面我被卡住了。

要使用该框架,我必须声明一个标记接口,如下所示:
interface Driver extends SimpleBeanEditorDriver<User, UserEditor> {}

由于这发生在我的与外形尺寸无关的活动中,我希望该类型UserEditor引用基于外形尺寸的实际实现,即UserEditorPhone, UserEditorTablet, UserEditorYouNameIt

无济于事,我尝试在 module.gwt.xml 中使用延迟绑定:

<replace-with class="com.example.client.desktop.UserEditorDesktop">
    <when-type-is class="com.example.client.view.UserEditor"/>
</replace-with>

关于我所缺少的内容以及如何避免在外形尺寸和 UserEditor 活动之间建立一对一关系的任何想法?

4

1 回答 1

1

您将希望与外形无关的活动只知道SimpleBeanEditorDriver<User, ?>,并将界面移动到、和中的Driver每一个中。UserEditorDesktopUserEditorTableUserEditorPhone

然后,活动将向一个依赖于格式的对象(例如,它的视图,如果您使用 MVP 并且活动是演示者)询问编辑器驱动程序的实例,而不是GWT.create()直接使用。

(如果你详细说明你的代码是如何组织的,我可以给出代码示例:你在使用 MVP 吗?编辑器是你的视图吗?它是如何实例化的?等等)

于 2012-09-30T18:01:20.510 回答