Establecer siguiente EditText enfocado y editable en KEY_DOWN
Tengo un diseño con dos editexts. Necesito fijar el segundo enfocado y editable cuando la llave del enter es golpeada en el primer. Tengo código para configurar el enfoque pero no puedo empezar a escribir cuando el segundo recibe el foco.
PS También necesito edittext para ser exactamente una línea de altura sin posibilidad de hacer filas adicionales. Funciona también. Pss android 2.3
- Texto del botón no con varias líneas
- Texto de sugerencia no capaz de ver en Android versión 2.3 pero funciona en 4.1
- Agregar mediante programación una vista a medio de LinearLayout
- ¿Cuál es el contrario de android.R.attr.state_checked?
- Flinging con RecyclerView + AppBarLayout
Código XML:
<EditText android:id="@+id/email" style="@style/profileLoginInput" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/email" android:ems="10" android:lines="1" android:maxLines="1" android:ellipsize="end"> <requestFocus /> </EditText> <EditText android:id="@+id/password" style="@style/profileLoginInput" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:ems="10" android:inputType="textPassword" android:hint="@string/password">
Código Java:
((EditText) findViewById(R.id.email)).setOnKeyListener(new OnKeyListener(){ @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN) { switch (keyCode) { case KeyEvent.KEYCODE_DPAD_CENTER: case KeyEvent.KEYCODE_ENTER: ((EditText) findViewById(R.id.password)).requestFocus(); return true; default: break; } } return false; } });
- Elemento seleccionado en listview personalizado con barra de acción contextual
- Cómo alinear un centro de vista?
- Cómo mostrar la cadena dependiendo del ancho del diseño
- Obtener Posición de Vista Absoluta en ListView
- Android reduce el espacio entre dos TextViews verticales
- ¿Por qué mi SVG no se carga en Vector Asset Studio
- Android ConstraintLayout genera valores absolutos
- ScrollView no se desplaza hasta el final del margen inferior del LinearLayout interno
Estás pensando demasiado en esto. Puede especificar el orden de las entradas EditText a la derecha en el XML sin hacer nada en Java.
Utilice el android:nextFocusDown
para especificar qué campo desea obtener el foco cuando el usuario pulsa la tecla Intro.
android:inputType="text" android:nextFocusDown="@+id/..."
Trabajó para mi
Android: nextFocusDown Funcionó bien para mí Pero eliminado el siguiente Método sólo entonces su trabajo:
editText1.setOnEditorActionListener(new EditText.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_ACTION_NEXT) { editText2.requestFocus(); return false; } return false; } });
Parece ser escuchado al ejecutar este código en el emulador. Sin embargo, funciona en teléfonos
Además de añadir el + delante de id:
android:inputType="text" android:nextFocusDown="@+id/..."
También tuve que añadir:
android:imeOptions="actionNext"
- Encuentra todas las clases en un paquete en Android
- Android PopupWindow y WRAP_CONTENT no funcionan juntos