2012-03-13 16 views
12

Tengo un diseño que consiste en LinearLayout con una orientación vertical que contiene varios EditTexts. El teclado virtual de cada uno de estos EditTexts tiene un botón "siguiente". Presionando el botón "Siguiente" mueve el cursor al EditText debajo de él.EditText tab order

Sin embargo, en algún lugar en el medio de estos EditTexts agregué otro LinearLayout, este horizontal, con algunos EditTexts dentro de él. Esto me deja con varios EditTexts apilados verticalmente, luego unos EditTexts en 1 fila horizontal entre sí, y luego más EditTexts apilados verticalmente debajo.

El orden de tabulación comienza como antes, pero cuando alcanza el primer EditText del LinearLayout horizontal, al presionar el botón "siguiente" no se mueve al siguiente EditText a su derecha. Se salta los dos a la derecha y baja al EditText a continuación.

¿Cómo puedo lograr el orden de tabulación que deseo?

I've attached an image, a true work of art really, of the order I want

Respuesta

36

to use android: nextFocusDown = "su próximo id edit text". Ejemplo:

.... 
    <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 
    <EditText 
     android:id="@+id/editText1" 
     android:layout_width="200dp" 
     android:layout_height="wrap_content" 
     android:nextFocusDown="@+id/editText2" /> 
    <EditText 
     android:id="@+id/editText2" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 
    </LinearLayout> 
    ....