2013-04-26 3 views
5

У меня есть вид в приложении для Android, который необходимо постоянно обновлять при нажатии экрана. Большинство слушателей, которых я обнаружил, недействительны только один раз, когда пользователь впервые касается экрана, или когда пользователь удаляет его руку с экрана.Android-прослушиватель для обнаружения при нажатии экрана

Есть ли такая вещь, как слушатель, которая постоянно срабатывает, пока экран коснулся? Или есть ли другой способ сделать это? Я знаю, это звучит как-то очень просто, но я не нашел способ сделать это.

ответ

8

Переопределить onTouch() и установить флаг в ACTION_DOWN. Пока ACTION_UP не вызывается после этого, пользователь прикасается к экрану.

boolean pressed = false; 

@Override 
    public boolean onTouch(View v, MotionEvent event) { 

     //int action = event.getAction(); 
     switch (event.getAction()){ 
     case MotionEvent.ACTION_DOWN: 
      pressed = true; 
     break; 

     case MotionEvent.ACTION_MOVE: 
      //User is moving around on the screen 
     break; 

     case MotionEvent.ACTION_UP: 
      pressed = false; 
     break; 
     } 
     return pressed; 
    } 
+0

Как я мог не думать об этом? Спасибо, человек, который отлично работал. – Apoz

+1

IMO, оператор возврата должен быть нажат; вместо «return false». –

+0

@AlejandroColorado Ах, ты прав. Спасибо за уловку –