我有一个由LinearLayout组成的布局,其垂直方向包含多个EditTexts。每个EditTexts的虚拟键盘都有一个" next"按钮。按下"下一步"按钮将光标移动到它下面的EditText。
然而,在这些EditTexts中间的某处,我添加了另一个LinearLayout,这个是水平的,里面有几个EditTexts。这使我有几个垂直堆叠的EditTexts,然后在一行上相互水平的几个EditTexts,然后在下面垂直堆叠更多的EditTexts。
Tab键顺序像以前一样开始,但当它到达水平LinearLayout的第一个EditText时,点击" next"按钮不会移动到右侧的下一个EditText。它会向右跳过两个并向下移动到下面的EditText。
如何实现我想要的标签顺序?
I've attached an image, a true work of art really, of the order I want
答案 0 :(得分:39)
使用android:nextFocusDown =“你的下一个id编辑文本”。示例:
....
<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>
....
答案 1 :(得分:15)
使用XML标签nextFocusDown / Forward / etc。 Documentation