2011-10-12 80 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