通常,我们这样做:
@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
传递给构造函数?
最佳答案
您还需要创建一个特定的点击事件:
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() and getType()
有关示例,请参阅 CustomEvent
在 HandlerDemo.java
中实现.
Then, how do I use MyClickHandler with @UiHandler? i.e. pass i to the constructor?
你不知道。
关于java - 如何将 @UiHandler 与自定义处理程序一起使用(传递构造函数参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14150402/