Cambiar el enfoque a EditarTexto Android
Tengo 2 EditText en mi actividad y fijo el maxLength
a 5.
Ahora quiero fijar el foco a editText2
, si la longitud de 5 se alcanza en editView1
…
- Grupo de radio no está recibiendo el foco en Android
- SearchView quita la línea de enfoque azul y muestra el cursor en determinada posición
- Cómo eliminar el foco de SearchView?
- Cómo hacer edittext autofocus después de mostrar un brindis?
- Android: ¿Para establecer un elemento como seleccionado cuando se abre ListView?
Lo intenté con:
editView1.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if(editView1.getText().length() == 5) editView2.requestFocus(); return false; } });
Pero no funcionará.
- Desplazamiento del foco de RecyclerView
- Navegación permanenteVerifique el enfoque suelto después de seleccionar un elemento
- EditText pierde foco cuando aparece el teclado; Requiere tocar dos veces para editar
- Cómo hacer que EditText no se enfoque al crear la actividad
- RequestFocus saltando siguiente EditText
- Centrarse en EditText en ListView cuando bloquea descendientes (Android)
- Android WebKit enfocado textarea no dibujar imagen de fondo
- Android onfocuschange en xml
Esto funciona
final EditText editText1 = (EditText) findViewById(R.id.editText1); final EditText editText2 = (EditText) findViewById(R.id.editText2); editText1.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if(editText1.getText().length() == 5) editText2.requestFocus(); return false; } });
Marc Juschkeits post casi fue perfecto para mí.
Pero en mi caso tuve que probar si el keyevent es una acción porque tengo un texto estándar en el edittext que tiene la misma longitud.
final EditText editText1 = (EditText) findViewById(R.id.editText1); final EditText editText2 = (EditText) findViewById(R.id.editText2); editText1.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View view, int i, KeyEvent keyEvent) { if (keyEvent.getAction() == KeyEvent.ACTION_UP) { if (editText1.getText().length() == 5) { editText2.requestFocus(); } } return false; } });
Solicitar enfoque no funciona en el hilo principal, creo. Pero no estoy seguro. Esto funciona para mí,
_edittext.post(new Runnable() { public void run() { _edittext.requestFocus(); } });
EdName.setOnKeyListener (nuevo OnKeyListener () {
@Override public boolean onKey(View v, int keyCode, KeyEvent event) { System.out.println("Yes Bud"); if(EdName.length()== 5) { EdBin.requestFocus(); } return false; } });
En el archivo androidmanifest.xml, agregue el siguiente código en la etiqueta de actividad:
android:windowSoftInputMode="stateHidden"