web-dev-qa-db-ja.com

ビューオブジェクトからonTouchListenerを削除する方法はありますか?

Webビューのオンタッチリスナーがありますが、Webビューの機能に悪影響を与えるため、最初の対話後にオンタッチリスナーを削除する方法があるかどうか疑問に思っています。

17
NotACleverMan

したがって、アクティビティでは、オーバーライドされたonTouchListenerを設定します。

            mWebView.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                v.setOnTouchListener(mWebView.mOnTouchListener);
                return false;
            }
        });

そして、WebViewを拡張して新しいクラスを作成する必要があります。その中で、OnTouchListenerを定義します。

    public final OnTouchListener mOnTouchListener = new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent rawEvent) {
        return false;
    }
}; 

Ontouchlistenerをnullに設定しても、デフォルトの定義にリセットされません。それでも実際のリスナーを提供する必要があります。

17
Pete
webView.setOnTouchListener(null);
33
Vladimir Ivanov

私はオンラインで助けを探していて、この投稿に行きました。私がしたとき

myView.setOnTouchListener(null);

myViewがタッチに応答しなくなりました。

6
Amir