0

在我的应用程序中,我们使用 1. 使用 UIBinder 设计屏幕,并使用视图类进行绑定 2. Presenter 作为控制器和模型。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 回答