Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo reemplazar el comportamiento de tecla <ENTER> del teclado virtual en Android

Quiero anular el comportamiento de la tecla ENTER del teclado virtual de modo que:

  • Cuando hay más campos en la pantalla, 'tabs' al siguiente campo
  • Cuando es el último campo de la pantalla, realiza la acción predeterminada de la pantalla

He estado jugando con las opciones y las etiquetas del IME, pero simplemente no obtengo lo que quiero. ¿Alguien tiene alguna sugerencia?

  • Android Creación de un archivo de entrada residente en la memoria que se puede adjuntar a un correo electrónico
  • Botón para mostrar el teclado virtual?
  • Enlaces de descarga de dispositivos virtuales de GenyMotion
  • Diferencia entre las API de destino de Google y el objetivo de Android
  • Cómo cambiar la ruta .android
  • Android popupwindow está por encima del teclado virtual
  • ¿Hay una manera de montar Android .img para acceder al contenido de AVD (dispositivo virtual Android)?
  • One Solution collect form web for “Cómo reemplazar el comportamiento de tecla <ENTER> del teclado virtual en Android”

    Con ayuda en otro foro, encontré la manera de hacerlo.

    Para hacerlo reutilizable, he creado mi propia clase de diálogo súper que contiene 2 objetos OnKeyListener y un método de envío de resumen:

     public abstract class MyAbstractDialog extends Dialog { /** * OnKeyListener that puts the focus down when the ENTER key is pressed */ protected View.OnKeyListener onEnterFocusDown = new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { v.requestFocus(View.FOCUS_DOWN); return true; } return false; } }; /** * OnKeyListener that submits the page when the ENTER key is pressed */ protected View.OnKeyListener onEnterSubmitView = new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { submitView(v); return true; } return false; } }; protected abstract void submitView(View v); } 

    Ahora en el Dialog puedo utilizar estos objetos para establecer en mis campos:

     // make the ENTER key on passwordField1 put the focus on the next field passwordField1.setOnKeyListener(onEnterFocusDown); // make the ENTER key on passwordField2 submit the page passwordField2.setOnKeyListener(onEnterSubmitView); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.