2013-04-05 2 views
6

У меня есть макет, который пользователю нужно написать свои детали в некотором editText, который помещается в вертикальный linearLayout.EditText next Кнопочная клавиатура

Однако каждый раз пользователю нужно открывать клавиатуру, писать что-то на editText, а затем щелкнуть по кнопке «Назад» в android и снова щелкнуть по следующему editText и снова и снова писать его детали и снова.

Я хочу реализовать это вместо того, чтобы открывать и закрывать клавиатуру, вместо кнопки ввода на клавиатуре у меня будет следующая кнопка, которая после того, как пользователь введет свои детали в spesific EditText, он перейдет к следующему EditText без каждый раз закрывая и открывая клавиатуру.

я увидел, что есть некоторые приложения, которые имеют эту функцию, однако я не нашел, как я могу осуществить это

Большого спасибо

вот пример моего макета:

<LinearLayout 
     android:layout_width="283dp" 
     android:layout_height="match_parent" 
     android:layout_marginLeft="20dp" 
     android:layout_marginRight="20dp" 
     android:orientation="vertical" > 



     <TextView 
      android:id="@+id/aaa" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:ems="10" 
      android:inputType="aaaa" > 

      <requestFocus /> 
     </TextView> 

     <EditText 
      android:id="@+id/bbb" 
      android:layout_width="match_parent" 
      android:layout_height="36dp" 
      android:background="@drawable/text_back" 
      android:ems="10" 
      android:inputType="bbb" /> 

     <TextView 
      android:id="@+id/cccc" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:ems="10" 
      android:inputType="ccc" /> 

     <EditText 
      android:id="@+id/emailTextGroup" 
      android:layout_width="match_parent" 
      android:layout_height="30dp" 
      android:background="@drawable/text_back" 
      android:ems="10" 
      android:inputType="textMultiLine" /> 

     <TextView 
      android:id="@+id/dd" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:ems="10" 
      android:inputType="ddd" /> 

     <EditText 
      android:id="@+id/fff" 
      android:layout_width="match_parent" 
      android:layout_height="38dp" 
      android:background="@drawable/text_back" 
      android:ems="10" 
      android:inputType="fff" /> 

     <TextView 
      android:id="@+id/yyy" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:ems="10" 
      android:inputType="yyy" /> 

     <EditText 
      android:id="@+id/eeee" 
      android:layout_width="match_parent" 
      android:layout_height="32dp" 
      android:background="@drawable/text_back" 
      android:ems="10" 
      android:inputType="textMultiLine" /> 

     <TextView 
      android:id="@+id/yyyy" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:ems="10" 
      android:inputType="iii" /> 

     <EditText 
      android:id="@+id/ooo" 
      android:layout_width="match_parent" 
      android:layout_height="30dp" 
      android:background="@drawable/text_back" 
      android:ems="10" 
      android:inputType="textMultiLine" /> 

     <TextView 
      android:id="@+id/ppp" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:ems="10" 
      android:inputType="ppp" /> 

     <EditText 
      android:id="@+id/sss" 
      android:layout_width="match_parent" 
      android:layout_height="30dp" 
      android:background="@drawable/text_back" 
      android:ems="10" 
      android:inputType="textMultiLine" /> 



    </LinearLayout> 

ответ

5

Существует очень хорошая документация для этого:

nextFocusDown

Если я правильно вас понимаю, этот порядок табуляции - это именно то, что вам нужно.

+0

Мне нужно добавить в каждый EditText поле: android: android: nextFocusDown = "+ @ id/next_editText_id? Thanks alot –

+0

да, следующий, который вы хотите активировать ... отлично подходит для меня. –

+0

thanks alot , я попробую это, также, где найдет следующую кнопку? вместо кнопки ввода на клавиатуре? –

3

это как мой EditText это и имеет следующую кнопку и не является

<EditText 
     android:id="@+id/typefish" 
     android:layout_width="370dp" 
     android:layout_height="wrap_content" 

     android:singleLine="true" /> 

один после того, или последний также имеет

android:imeOptions="actionDone" 
+0

привет, спасибо за ответ, мне нужно добавить эту строку: android: imeOptions = «actionDone» для каждого editText? спасибо alot –

+0

нет, у меня есть это на последнем editText, то есть – JRowan

+0

, так, как он знает, чтобы пропустить с первого editText во второй editText? –

7

Вы должны добавить в файл XML атрибут вашего EditText s:

android:imeOptions="actionNext".

Следующая кнопка приведет пользователя в следующее поле, которое может принимать входные данные.

+0

спасибо большое, нужно ли его добавить, ко всему editText в моем макете? –

+0

Да, вам нужно добавить эту строку в каждый EditText. –

+0

Это не поддержка для Android 2.3.6. Как заставить его работать? @EmilAdz –

Смежные вопросы