【问题标题】:How to remove clickHandler which already added to Label?如何删除已经添加到标签的clickHandler?
【发布时间】:2018-05-30 22:14:56
【问题描述】:

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

我尝试了 removeClickListener() 但它已被弃用,所以我找不到其他解决方案。

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

【问题讨论】:

    标签: java gwt click handler


    【解决方案1】:

    我不知道 GWT,但这是您可以做的(通过 API)。

    HandlerRegistration reg = label.addClickHandler(clickHandler);
    
    reg.removeHandler();
    

    【讨论】:

      【解决方案2】:

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

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

      在此方法调用中,返回了 HandlerRegistration 的实例。有一种方法是

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

      【讨论】:

        【解决方案3】:

        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
                               }
                           });        
            }
        

        【讨论】:

        • 为什么答案是-1?
        猜你喜欢
        • 1970-01-01
        • 2015-09-17
        • 1970-01-01
        • 1970-01-01
        • 2013-08-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多