2012-03-13 9 views
12

devo un layout costituito da un LinearLayout con un orientamento verticale contenente diversi EditTexts. La tastiera virtuale di ciascuno di questi EditTexts ha un pulsante "successivo". Premendo il pulsante "next" si sposta il cursore su EditText sotto di esso.EditText ordine tab

Tuttavia, da qualche parte nel mezzo di questi EditTexts ho aggiunto un altro LinearLayout, questo uno orizzontale, con alcune EditTexts all'interno di esso. Questo mi lascia con diversi EditTexts impilati verticalmente, quindi alcuni EditTexts su una riga orizzontale l'uno rispetto all'altro, e poi più EditTexts impilati verticalmente sotto.

L'ordine di tabulazione inizia come prima, ma quando raggiunge il primo EditText del LinearLayout orizzontale, premendo il pulsante "successivo" non si sposta al successivo EditText alla sua destra. Salta i due a destra e si sposta verso il basso in EditText.

Come posso ottenere l'ordine di tabulazione che desidero?

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

risposta

36

utilizzare Android: nextFocusDown = "la vostra prossima id modificare il testo". Esempio:

.... 
    <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> 
    ....