2010-11-23 15 views
8

¿Cómo puedo detectar las teclas de forma confiable con un teclado duro o suave?Teclado suave sin un EditText y la tecla de detección presiona

Mi aplicación controla de forma remota otro dispositivo a través de wifi, y necesito detectar cada pulsación de tecla en un teclado suave o duro. Realmente no necesito un EditText porque solo necesito enviar los personajes uno a la vez, ya que están presionados y no necesitan la cadena de texto final.

He intentado usar un EditText con OnKeyPress, pero me encontré con los problemas here sin presionar las teclas con los teclados suaves. Y TextWatcher no es una buena opción porque necesito presionar cada tecla.

Voy a usar un EditText si es necesario, pero preferiría no hacerlo. Lo que realmente quiero es:

  • obtener un teclado suave cuando el usuario pulsa un botón de búsqueda
  • usuario presiona las teclas y transmitir los códigos de dispositivo remoto. Realmente no tenga que ver nada en la pantalla en un EditarTexto ya que se mostrará en el dispositivo remoto
  • usuario presiona el botón de encargo Hecho en el teclado en pantalla para cerrarlo

¿Alguna sugerencia?

+1

¿Has encontrado la manera de hacer esto todavía? –

+0

Eche un vistazo a esta [1] publicación. Esto funciona para mí Probado en SGS II. [1]: http://stackoverflow.com/questions/4579544/can-i-use-the-soft-keyboard-without-an-edittext/6954401#6954401 – miha

Respuesta

1

Bien se podría anular el [onKeyDown(int keyCode, KeyEvent event)] [1] y (o) [onKeyUp(int keyCode, KeyEvent event)] [2] métodos de la clase actividad de las aplicaciones, esto permitiría obtener una notificación incluso acerca de las claves tales como la tecla de retroceso y otra llaves de hardware ...

Nota: puede obtener la notificación sobre el movimiento bola de seguimiento y así sucesivamente ...

[1]: http://developer.android.com/reference/android/view/View.html#onKeyDown(int, android.view.KeyEvent) [2]: http://developer.android.com/reference/android/view/View.html#onKeyUp(int, android.view .KeyEvent)

+1

Gracias, pero este doesn' Parece que funciona con un teclado suave. Estoy anulando onKeyDown y no se desencadena con letras o números. –

Cuestiones relacionadas