【发布时间】:2018-05-30 22:14:56
【问题描述】:
我正在使用 GWT/JAVA 进行开发。我有以下问题: 我想从已经添加到标签的标签中删除 ClickHandler。
我尝试了 removeClickListener() 但它已被弃用,所以我找不到其他解决方案。
如果有人找到解决方案,请告诉我..
【问题讨论】:
我正在使用 GWT/JAVA 进行开发。我有以下问题: 我想从已经添加到标签的标签中删除 ClickHandler。
我尝试了 removeClickListener() 但它已被弃用,所以我找不到其他解决方案。
如果有人找到解决方案,请告诉我..
【问题讨论】:
我不知道 GWT,但这是您可以做的(通过 API)。
HandlerRegistration reg = label.addClickHandler(clickHandler);
reg.removeHandler();
【讨论】:
您使用了错误的方法。正确的是。
com.google.gwt.user.client.ui.Label.addClickHandler(ClickHandler)
在此方法调用中,返回了 HandlerRegistration 的实例。有一种方法是
com.google.gwt.event.shared.HandlerRegistration.removeHandler()
【讨论】:
addClickHandler(new ...)(以及所有其他的“add...Handler(”) 返回一个 HandlerRegistration 接口。
您必须注册此处理程序。 因此,您可以随时删除 clickHandler。
HandlerRegistration handler = null;
private void updateMyInformationLabel(){
if(handler != null){
// previous onClickHandler removed
handler.removeHandler();
}
// adding a new action on label click
handler = myInformationLabel.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// something done once
}
});
}
【讨论】: