開発には 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
}
});
}