在我的应用程序中,我们正在使用 1.屏幕是使用UIBinder设计的,具有要绑定的视图类 2.演示者作为控制器和模型。 3.我们有Base Presenter(抽象,几个通用实现) 4.我们有很多这样的屏幕,所有屏幕都有文本框,所有的屏幕演示者都会扩展Base Presenter。
- 我的要求是当用户更改任何屏幕中的任何文本框时触发并捕获通用事件。 - 我不想为每个屏幕中可用的每个文本框定义事件。 - 我想在泛型中注册所有关于值更改(ValueChangeHandler)事件的文本框。
无论如何,我们可以做到这一点。
答案 0 :(得分: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
}
} );
}
}