teclado tecla samsung renglon pasar linea configurar como celular cambiar abajo android keyboard virtual

samsung - configurar tecla enter android



Cómo anular el comportamiento de la tecla<ENTER> del teclado virtual en Android (1)

Quiero anular el comportamiento de la tecla ENTRAR del teclado virtual para que:

  • cuando hay más campos en la pantalla, ''pestañas'' para el 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 etiquetas de IME, pero simplemente no obtengo lo que quiero. Alguien tiene alguna sugerencia?


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

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

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 usar 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);