2011-12-27 21 views
5

Mam następujący kod:Jak zdobyć keyCode w 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; 
     } 
    }); 

ale to działa tylko dla enter i delete kluczy. W przypadku pozostałych kluczy nie działa. Chciałem go dla kluczy shift i caps lock.

+0

miękkie klawisze nie używać kodów klawiszy do większości rzeczy. Zobacz tę odpowiedź https://stackoverflow.com/a/44342915/3681880 – Suragch

Odpowiedz

-1

Dlaczego skomentowałeś instrukcję break. Odkomentuj instrukcję break i spróbuj.

+2

nie jest potrzebna z powodu oświadczeń zwrotnych – Anton

+0

Nie jest potrzebna z powodu instrukcji zwrotnych ... – user5716019

0

Uset ten słuchacz na EditText:

editText.setOnKeyListener(new OnKeyListener() { 

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

return false; 
} 
}); 
Powiązane problemy