我正在使用GWT / JAVA进行开发。我有以下问题: 我想从Label中删除ClickHandler,我已将其添加到Label中。
我尝试过removeClickListener()但它已被弃用,所以我找不到其他解决方案来执行此操作。
如果有人找到解决方案,请告诉我。
答案 0 :(得分:7)
我不知道GWT,但这是你可以做的(来自API)。
HandlerRegistration reg = label.addClickHandler(clickHandler);
reg.removeHandler();
答案 1 :(得分:6)
你使用的是错误的方法。正确的是。
com.google.gwt.user.client.ui.Label.addClickHandler(ClickHandler)
在此方法调用中,返回了HandlerRegistration
的实例。
com.google.gwt.event.shared.HandlerRegistration.removeHandler()
答案 2 :(得分:-1)
addClickHandler(new ...)(以及其他所有“添加...处理程序(”)返回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
}
});
}