requestFocus saltar la próxima EditarTexto
-
25-09-2019 - |
Pregunta
Estoy teniendo algunos problemas con el control de enfoque. Mi definición de la interfaz de abajo tiene:
fuente (RadioGroup / opcional) destino (EditarTexto) cantidad (EditarTexto) transferencia (Button)
Me voy a cambiar la visibilidad de la "fuente" en mi código. Cuando las veces que no muestran que, el foco está automáticamente va a la "cantidad", que yo esperaría que para ser "destino" en su lugar. No sé lo que me falta. Sospecho que podría ser un error de Android, no sé. ¿Hay conozco a nadie cómo resolver esto?
Gracias
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RadioGroup android:id="@+id/source"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<RadioButton android:id="@+id/default"
android:checked="false"
android:text="@string/default"/>
</RadioGroup>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="1">
<TableRow>
<TextView
android:text="@string/destination"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:textColor="#ffffff"
android:paddingRight="10sp"
android:layout_weight="1"/>
<EditText android:id="@+id/destination"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:singleLine="true"><requestFocus/></EditText>
</TableRow>
<TableRow>
<TextView
android:text="@string/quantity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:textColor="#ffffff"
android:paddingRight="10sp"
android:layout_weight="1"/>
<EditText android:id="@+id/quantity"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:singleLine="true"/>
</TableRow>
</TableLayout>
<Button android:id="@+id/transfer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/transfer"/>
</LinearLayout>
Solución
Parece que es un problema conocido. El siguiente mensaje el código de Google para el proyecto Android describe el mismo problema.
Edición 2705: Configuración requestFocus en EditarTexto impide teclado en pantalla de apertura
Se podría intentar establecer el foco en el código en lugar de en el diseño.
Otros consejos
Una vista no tomar realmente el foco si no es enfocable (isFocusable () devuelve falso), o si es enfocable y no es enfocable en modo táctil (isFocusableInTouchMode ()) mientras el dispositivo está en modo de contacto.
Me enfrenté misma edición, Prueba este código que funcionó para mí.
editText.post(new Runnable() {
public void run() {
editText.requestFocus();
}
});
EditText
método de uso requestFocus()
. :)