0

私のアプリケーションでは、1. 画面は UIBinder とバインドするビュー クラスを使用して設計されています。2. プレゼンターをコントローラーおよびモデルとして使用します。3. Base Presenter があります (いくつかの一般的な実装を含む抽象) 4. すべての画面にテキスト ボックスがあり、すべての画面プレゼンターが Base Presenter を拡張するような画面が多数あります。

-- 私の要件は、ユーザーが任意の画面でテキスト ボックスを変更したときに、一般的なイベントを発生させてキャッチすることです。-- 各画面で使用可能なすべてのテキスト ボックスに対してイベントを定義したくありません。-- ジェネリックの値変更 (ValueChangeHandler) イベントですべてのテキスト ボックスを登録したい。

とにかくこれを達成できるでしょうか。

4

1 に答える 1

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

              }
           } );
      }
}
于 2012-11-27T07:08:37.227 に答える