1

通常,我们这样做:

@UiHandler("aLink")
void onClickALink(ClickEvent e) {
    // do something
}

但是,如果我想使用自己的 Handler 实现怎么办?

class MyClickHandler implements ClickHandler {
    int i;

    MyClickHandler(int i) {
        this.i = i;
    }

    @Override
    public void onClick(ClickEvent event) {
        // do something
    }
}

那么,如何将 MyClickHandler 与 @UiHandler 一起使用?即传递i给构造函数?

4

1 回答 1

1

您还需要创建一个特定的点击事件:

class MyClickHandler implements ClickHandler {
    int i;

    MyClickHandler(int i) {
        this.i = i;
    }

    @Override
    public void onClick(MyClickEvent event) {  // MyClickEvent!
        // do something
    }
}

然后你可以这样做:

@UiHandler("aLink")
void onClickALink(MyClickEvent e) {
    // do something
}

确保您实现了所有需要的方法,MyClickEvent以便 GWT 可以理解它关联到MyClickHandler:请参阅ClickEvent dispatch()、getAssociatedType() 和 getType()

有关示例,请参阅如何CustomEventHandlerDemo.java.

那么,如何将 MyClickHandler 与 @UiHandler 一起使用?即将 i 传递给构造函数?

你没有。

于 2013-01-04T03:25:44.410 回答