En este tutorial se explica cómo ejecutar una acción, cuando el usuario presione la tecla Enter/Realizado del teclado virtual, en Android Studio. También funciona para hacer una acción específica para cualquier otra tecla que se presione en el teclado virtual.
En ocasiones se requiere que el usuario, al presionar la tecla Enter realice una determinada acción.
Como, por ejemplo, cuando nuestra app realiza cálculos y el usuario ingresa un valor a nuestro Edit Text. Lo más común es que el usuario presione la tecla Enter del teclado virtual y espere obtener el resultado.
Si nuestra app no calcula el resultado así, el usuario puede malinterpretar los resultados, o bien creer que no funciona bien. Por lo que esto es algo muy importante para nuestra app.
Personalizar una acción al presionar Enter del teclado virtual. Android Studio.
- Primero necesitamos tener un Edit Text que muestre el teclado virtual.
- Lo siguiente, es en código Java crear un método llamado onKeyUp(). El cual es una función de Android Studio. public boolean onKeyUp(int keyCode, KeyEvent event){……}
- Se recomienda crear un Switch dentro de ese método, para poder elegir una acción de acuerdo a la tecla que se presione. En nuestro caso es la tecla Enter, por lo que se usará KeyEvent.KEYCODE_ENTER.
- Enseguida, el código dentro del método será:
switch (keyCode) { case KeyEvent.KEYCODE_ENTER: //Hacer algo aqui return true; default: return super.onKeyUp(keyCode, event); }
- Por último, es posible agregar más teclas del teclado virtual y personalizar la acción que se requiera.
Ejemplo para realizar una acción al presionar Enter en el teclado.
En este ejemplo, vamos a llamar al método calculos(), cuando se presione la tecla Enter o Realizado. Este método, realiza los cálculos correspondientes y muestra los resultados.
Para esto necesitamos tener un Edit Text, en nuestra UI (Interfaz de usuario).
Lo primero que haremos es crear un método llamado onKeyUp(). Este método se activa cuando el usuario presiona cualquier tecla del teclado. Y además es una variable tipo bool.
Por lo tanto, lo siguiente es identificar que tecla presionó el usuario, y ejecutar alguna acción en base a eso.
La llave para saber que se presiona la tecla Enter es:
KeyEvent.KEYCODE_ENTER
Hay una llave para cada tecla, por ejemplo:
Tecla A: KeyEvent.KEYCODE_A
Tecla F: KeyEvent.KEYCODE_F
Tecla J: KeyEvent.KEYCODE_J
Para más KEYCODE, ve la página oficial de Android, en este link. (https://developer.android.com/reference/android/view/KeyEvent )
Lo siguiente es crear un Switch (link de switch), en el que podemos ver que tecla presiona el usuario y elegir cual es la acción que se hará.
Al final del Switch ponemos la acción que se ejecutará si el usuario no presiona ninguna de las opciones que tenemos en el switch, con la opción default. El código quedaría así:
@Override public boolean onKeyUp(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_ENTER: calculos(); return true; default: return super.onKeyUp(keyCode, event); } }
Con lo anterior cuando el usuario presione la tecla Enter, en nuestro caso llamamos a un método llamado calculos().
Como resultado tenemos que cuando el usuario presiona la tecla Enter del teclado virtual, se realizarán y mostrarán los cálculos correspondientes, de acuerdo a lo que ingreso el usuario.
Para más tutoriales de Android Studio, visita nuestra sección Android Studio.