2012-11-21 45 views
0

在我的應用程序中,我們使用的是 1.屏幕設計使用UIBinder與視圖類綁定 2.演示者作爲控制器和模型。 3.我們確實有Base Presenter(抽象的幾個泛型實現) 4.我們有很多這樣的屏幕,所有的屏幕都會有文本框,所有的屏幕演示者都會擴展Base Presenter。對於所有文本框的價值變化事件 - 通用方式所需的解決方案

- 我的要求是在用戶更改任何屏幕中的任何文本框時觸發並捕獲泛型事件。 - 我不想爲每個屏幕中可用的每個文本框定義事件。 - 我想在通用中註冊所有文本框的值更改(ValueChangeHandler)事件。

無論如何我們可以做到這一點。

回答

0

據我所知,您希望爲顯示在一組屏幕中的每個文本框添加一個值更改處理程序,而無需添加到每個單獨的文本框中。

您可以擴展文本框並在構造函數中添加值更改處理程序,並提供一個掛鉤來執行任何操作。

public class MyTextBox extends TextBox 
{ 
    public MyTextBox() 
    { 
      super(); 
      addValueChangeHandler(new ValueChangeHandler<String>() 
      { 

       @Override 
       public void onValueChange(ValueChangeEvent<String> event) 
       { 
        // TODO Auto-generated method stub 

       } 
      }); 
     } 
} 
相關問題