2012-03-13 13 views
12

Mam układ składający się z LinearLayout z orientacją pionową zawierającą kilka EditText. Wirtualna klawiatura każdego z tych EditTextów ma przycisk "następny". Naciśnięcie przycisku "Dalej" powoduje przesunięcie kursora do EditText poniżej.Kolejność zakładki EditText

Jednak gdzieś w środku tych EditTexts dodałem kolejny LinearLayout, ten jeden poziomy, z kilkoma EditTextami w środku. Pozostawia mi to kilka EditTexts ułożonych w stosy pionowo, potem kilka EditTexts w jednym rzędzie poziomo względem siebie, a następnie więcej EditTexts ułożonych pionowo pod spodem.

Kolejność kart zaczyna się jak poprzednio, ale kiedy dojdzie do pierwszego EditText poziomego LinearLayout, naciśnięcie przycisku "dalej" nie przejdzie do następnego EditText po prawej stronie. Pomija dwa w prawo i przesuwa się w dół do EditText poniżej.

W jaki sposób mogę osiągnąć pożądaną kolejność?

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

Odpowiedz

36

użyj android: nextFocusDown = "twój następny tekst edycji id". Przykład:

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