Есть ли способ удалить onTouchListener из объекта просмотра? - PullRequest
16 голосов
/ 31 мая 2011

У меня есть прослушиватель на ощупь для веб-просмотра, но он плохо влияет на функциональность веб-просмотра, поэтому мне интересно, есть ли способ удалить прослушиватель на ощупь после первоначального взаимодействия?

Ответы [ 3 ]

31 голосов
/ 31 мая 2011
webView.setOnTouchListener(null);
17 голосов
/ 08 июля 2011

Таким образом, в своей деятельности вы должны установить переопределенный 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 не сбрасывает его в определение по умолчанию.Вы все еще должны предоставить фактического слушателя.

6 голосов
/ 30 августа 2013

Я искал помощи онлайн и попал на этот пост. Когда я сделал

myView.setOnTouchListener(null);

myView перестал реагировать на прикосновения.

...