2011-12-27 3 views
5

У меня есть следующий код:Как получить KEYCODE в Android

tv.setOnKeyListener(new View.OnKeyListener() { 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 
     switch(keyCode) 
      { 
       case KeyEvent.KEYCODE_0: 
        Log.v(TAG, "Keycode_0"); 
        return true; 
        //break; 

       case KeyEvent.KEYCODE_1: 
        Log.v(TAG, "Keycode_1"); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_D: 
        Log.v(TAG, "Keycode_D"); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_2: 
        Log.v(TAG, "Keycode_2"); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_TAB: 
        Log.v(TAG, "Keycode_TAB"); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_DEL: 
        Log.v(TAG, "Keycode_DEL"); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_COMMA: 
        Log.v(TAG, "Keycode_COMMA"); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_ENTER: 
        Log.v(TAG, "KEYCODE_ENTER"); 
        i=KeyEvent.KEYCODE_ENTER; 
        Log.v(TAG, "KEYCODE_ENTER"+i); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_SHIFT_LEFT: 
        Log.v(TAG, "KEYCODE_SHIFT_LEFT"+KeyEvent.KEYCODE_SHIFT_LEFT); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_SHIFT_RIGHT: 
        Log.v(TAG, "KEYCODE_SHIFT_RIGHT"+KeyEvent.KEYCODE_SHIFT_RIGHT); 
        return true; 
        //break; 
       case KeyEvent.KEYCODE_SPACE: 
        Log.v(TAG, "KEYCODE_SPACE"+KeyEvent.KEYCODE_SPACE); 
        return true; 
        //break; 
       default: 
        break; 
      } 
      return false; 
     } 
    }); 

, но он работает только для enter и delete ключей. Для остальных ключей он не работает. Я хотел его для shift и caps lock ключей.

+0

Мягкие клавиатуры не использовать ключевые коды для большинства вещей. См. Этот ответ https://stackoverflow.com/a/44342915/3681880 – Suragch

ответ

-1

Почему вы прокомментировали заявление о нарушении. Пожалуйста, раскомментируйте оператор break и попробуйте.

+2

он не нужен из-за операторов возврата – Anton

+0

Это не нужно из-за операторов возврата ... – user5716019

0

Uset этот слушатель на вашем EditText:

editText.setOnKeyListener(new OnKeyListener() { 

@Override 
public boolean onKey(View v, int keyCode, KeyEvent event) { 

return false; 
} 
}); 
Смежные вопросы