2013-06-06 2 views
0

Я хочу обнаружить в своем приложении прикосновение пользователя на экране и сбросить некоторый таймер в этом случае. Я узнал, что я могу использовать onTouchEvent, но он работает только тогда, когда я нажимаю свободное место без кнопок, .... Я не хочу регистрировать touchEventListener на каждом представлении в моем проекте. Есть ли другой способ, как это сделать?Обнаруживать каждое касание на экране

+1

попробовать перекрывая dispatchTouchEvent() в вашей деятельности – FoamyGuy

+0

Спасибо! Это самое простое решение. Я перепробовал этот метод в AbstractActivity, и он работает правильно. – AdaMoOo

ответ

1

Действительно , сначала вы должны переопределить этот метод в своей деятельности:

public boolean onTouchEvent(MotionEvent event); 

Затем необходимо отключить действие для интерактивных элементов.

+0

Отличное решение! Это работает, наконец. Благодаря! – AdaMoOo

0

Вы должны выполнить эту OnTouchListener для родительского вида и сделать ребенок просматривает без ссылок с помощью setClickable(false) ...

Если это не работает, вам, вероятно, нужно следовать метод, предложенный в this answer

0

все, что вам нужно сделать, это переопределить onInterceptTouchEvent (MotionEvent эв) метод в виде сверху контейнера уровня или вы можете переопределить Activity.onUserInteraction, но он также включает в себя основные и трекбол действия