2011-12-27 12 views
5

Tengo el siguiente código:Como llegar keyCode en 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; 
     } 
    }); 

pero se está trabajando sólo para enterdelete y llaves. Para el resto de las teclas, no está funcionando. Lo quería para las claves shift y caps lock.

+0

teclados virtuales no utilizan los códigos clave para la mayoría de las cosas. Consulte esta respuesta https://stackoverflow.com/a/44342915/3681880 – Suragch

Respuesta

-1

Por qué ha comentado la declaración de interrupción. Descomenta la declaración de interrupción y prueba.

+2

No es necesario debido a declaraciones de devolución – Anton

+0

No es necesario debido a declaraciones de devolución ... – user5716019

0

Uset este detector sobre su EDITTEXT:

editText.setOnKeyListener(new OnKeyListener() { 

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

return false; 
} 
});