2011-10-12 70 views
0

我使用UiBinder创建复合小部件。该小部件是一个登录表单,基本上它有标签,文本框和一个按钮。我打算在使用UiBinder声明的视图中使用这个小部件。所以,基本上我有这些文件:LoginForm.ui.xml,LoginForm.java,MainViewImpl.ui.xml和MainViewImpl.java。处理复合小部件的事件

我不得不在LoginForm.java中使用@UiHandler注释来定义登录窗体的事件处理程序,但是我想知道是否有方法在MainView.java中定义这些事件处理程序。那可能吗?

+0

所以基本上你想创建一个LoginForm.ui.xml依赖的MainView.java? –

回答

0

不会。这会打破组件设计模式。

您需要做的是在您的LoginForm组件上暴露事件MainViewImpl将能够听取。

如果这是一个“一杆”不过,我不会打扰创建事件,而是简单地用一个回调接口MainViewImpl实现并传递给LoginForm它给它回电话。
这与接口类似,由MVP – Part II article中的视图回叫以通知演示者。

+0

感谢您的回答托马斯。因为我看起来更直截了当,所以我会去公开事件。 – sosegon12