Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何删除已添加到标签的clickHandler?_Java_Gwt_Click_Handler - Fatal编程技术网

Java 如何删除已添加到标签的clickHandler?

Java 如何删除已添加到标签的clickHandler?,java,gwt,click,handler,Java,Gwt,Click,Handler,我正在使用GWT/JAVA进行开发。我有以下问题: 我想从已添加到标签的标签中删除ClickHandler 我尝试了removeClickListener(),但它已被弃用,因此无法找到其他解决方案 如果有人找到了解决方案,请告诉我。您使用了错误的方法。正确的是 com.google.gwt.user.client.ui.Label.addClickHandler(ClickHandler) 在这个方法调用中,返回了一个handleRegistration实例。有一种方法是 com.googl

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

我尝试了removeClickListener(),但它已被弃用,因此无法找到其他解决方案


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

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

com.google.gwt.user.client.ui.Label.addClickHandler(ClickHandler)
在这个方法调用中,返回了一个
handleRegistration
实例。有一种方法是

com.google.gwt.event.shared.HandlerRegistration.removeHandler()

我不知道GWT,但这里是您可以做的(从API)

addClickHandler(新建…(每隔“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
                       }
                   });        
    }

为什么答案是-1?
    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
                       }
                   });        
    }