我正在使用 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
}
});
}