2013-06-20 4 views
7

Я реализовал dispatchKeyEvent в своей деятельности, чтобы прослушать нажатие клавиши Enter. Проблема в том, что когда я нажимаю кнопку ввода, он вызывает мой метод дважды? Как я могу это исправить ? Спасибо, хорошо провести день!dispatchKeyEvent метод вызова дважды

@Override 
public boolean dispatchKeyEvent(KeyEvent e) { 
if (e.getKeyCode() == KeyEvent.KEYCODE_ENTER) { 

       enter(); 
     return true; 
    } 
    return super.dispatchKeyEvent(e); 
}; 
+1

try KeyEvent.getAction() – pskink

ответ

15

Fixed его, сделал это: Сначала я делал ACTION_DOWN, но это было запуск старой проблемы шахты.

@Override 
public boolean dispatchKeyEvent(KeyEvent event) { 
    if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) { 
     if (event.getAction() == KeyEvent.ACTION_UP){ 

     enter(); 

      return true; 
    }} 
    return super.dispatchKeyEvent(event); 
};