2013-06-20 147 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

嘗試KeyEvent.getAction() – pskink

回答

15

固定它,這樣做: 起初我是做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); 
};