Я хочу обнаружить в своем приложении прикосновение пользователя на экране и сбросить некоторый таймер в этом случае. Я узнал, что я могу использовать onTouchEvent, но он работает только тогда, когда я нажимаю свободное место без кнопок, .... Я не хочу регистрировать touchEventListener на каждом представлении в моем проекте. Есть ли другой способ, как это сделать?Обнаруживать каждое касание на экране
ответ
Действительно , сначала вы должны переопределить этот метод в своей деятельности:
public boolean onTouchEvent(MotionEvent event);
Затем необходимо отключить действие для интерактивных элементов.
Отличное решение! Это работает, наконец. Благодаря! – AdaMoOo
Вы должны выполнить эту OnTouchListener для родительского вида и сделать ребенок просматривает без ссылок с помощью setClickable(false)
...
Если это не работает, вам, вероятно, нужно следовать метод, предложенный в this answer
все, что вам нужно сделать, это переопределить onInterceptTouchEvent (MotionEvent эв) метод в виде сверху контейнера уровня или вы можете переопределить Activity.onUserInteraction, но он также включает в себя основные и трекбол действия
попробовать перекрывая dispatchTouchEvent() в вашей деятельности – FoamyGuy
Спасибо! Это самое простое решение. Я перепробовал этот метод в AbstractActivity, и он работает правильно. – AdaMoOo