2

我正在使用 GWT/JAVA 进行开发。我有以下问题:我想从已经添加到标签的标签中删除 ClickHandler。

我试过 removeClickListener() 但它已被弃用,所以我找不到另一个解决方案来做到这一点。

如果有人找到解决方案,请告诉我..

4

3 回答 3

7

我不知道 GWT,但这是你可以做的(来自 API)。

HandlerRegistration reg = label.addClickHandler(clickHandler);

reg.removeHandler();
于 2012-06-15T09:42:32.537 回答
6

你使用了错误的方法。正确的是。

com.google.gwt.user.client.ui.Label.addClickHandler(ClickHandler)

在这个方法调用上,有一个HandlerRegistration返回的实例。有一种方法是

com.google.gwt.event.shared.HandlerRegistration.removeHandler()
于 2012-06-15T09:34:51.970 回答
-1

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
                       }
                   });        
    }
于 2018-05-30T14:14:56.730 回答