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 に答える