У меня есть прослушиватель касания для веб-просмотра, но это плохо влияет на функциональность веб-просмотра, поэтому мне интересно, можно ли вообще удалить прослушиватель касания после первоначального взаимодействия?
Есть ли способ удалить onTouchListener из объекта представления?
31.05.2011
Ответы:
1
Итак, в вашей деятельности вы должны установить свой переопределенный 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 не сбрасывает его до определения по умолчанию. Вы все равно должны предоставить фактического слушателя.
08.07.2011
2
Я искал помощь в Интернете и получил этот пост. Когда я сделал
myView.setOnTouchListener(null);
мой myView
перестал отвечать на onTouch
.
30.08.2013
3
Новые материалы
ВЫ РЕГРЕСС ЭТО?
Чтобы понять, когда использовать регрессионный анализ, мы должны сначала понять, что именно он делает. Вот простой ответ, который появляется, когда вы используете Google:
Регрессионный..
Не зря же это называют интеллектом
Стек — C#, Oracle
Опыт — 4 года
Работа — Разведывательный корпус
Мне пора служить
Может быть, я немного приукрашиваю себя, но там, где я живу, есть обязательная военная служба на 3..
LeetCode Проблема 41. Первый пропущенный положительный результат
LeetCode Проблема 41. Первый пропущенный положительный результат
Учитывая несортированный массив целых чисел, найдите наименьшее пропущенное положительное целое число.
Пример 1:
Input:..
Расистский и сексистский робот, обученный в Интернете
Его ИИ основан на предвзятых данных, которые создают предрассудки.
Он словно переходит из одного эпизода в другой из серии Черное зеркало , а вместо этого представляет собой хронику..
Управление состоянием в микрофронтендах
Стратегии бесперебойного сотрудничества
Микро-фронтенды — это быстро растущая тенденция в сфере фронтенда, гарантирующая, что удовольствие не ограничивается исключительно бэкэнд-системами..
Декларативное и функциональное программирование в стиле LINQ с использованием JavaScript с использованием каррирования и генератора ...
LINQ - одна из лучших функций C #, которая обеспечивает элегантный способ написания кода декларативного и функционального стиля, который легко читать и понимать.
Благодаря таким функциям ES6,..
Структуры данных в C ++ - Часть 1
Реализация общих структур данных в C ++
C ++ - это расширение языка программирования C, которое поддерживает создание классов, поэтому оно известно как C с классами . Он используется для..
mWebView
? Как mWebView попадает в mOnTouchListener? Благодарность! 20.07.2011View
, напримерWebView
, вам не нужно реализовывать сенсорный прослушиватель. Представление имеет встроенный метод, который вы реализуете вместо этого:boolean onTouchEvent (MotionEvent event) { ... }
. Преимущество создания прослушивателя касаний заключается в том, что вы можете сделать это в каком-то другом классе, таком как Fragment или Activity, который вы уже определили. Таким образом, вам не нужно создавать еще один новый класс. 20.10.2016WebView
, в вашемonTouchEvent
вы передадите событие исходному классу, вызываяbase.onTouchEvent(event)
всякий раз, когда вы не делаете справиться с событием самостоятельно. Удаление вашего проблемного сенсорного материала просто означает, что вы устанавливаете некоторый флаг, который вы тестируете, чтобы решить, использовать ли ваш собственный код. Что-то вродеboolean onTouchEvent(MotionEvent event) { if (doMyCustomCode) { .. code here ..; return true; } else return base.onTouchEvent(event); }
20.10.2016boolean onTouchEvent(MotionEvent event) { boolean handled = false; if (doMycustomCode) { .. code here that sets handled=true after doing whatever, if it is an event that you respond to .. } if (handled) return true; else return base.onTouchEvent(event); }
20.10.2016