EditText 标签顺序

18

我有一个布局,由一个纵向排列的LinearLayout和几个EditText组成。每个EditText的虚拟键盘都有一个“下一步”按钮。按下“下一步”按钮会将光标移动到它下面的EditText。

然而,在这些EditText的中间某个地方,我添加了另一个LinearLayout,这个LinearLayout是水平的,里面有一些EditText。这使得我有几个垂直堆积的EditText,然后有几个EditText在同一行水平排列,然后再有更多的EditText垂直堆积在下面。

选项卡顺序与以前一样开始,但当它到达水平LinearLayout的第一个EditText时,点击“下一步”按钮不会移动到其右侧的EditText。它跳过右边的两个EditText并移到下面的EditText。

如何实现我想要的选项卡顺序?

我附上了一张图片,真正的艺术品,显示了我想要的顺序

2个回答

46

使用android:nextFocusDown="您下一个EditText的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>
    ....

19

建议使用 XML 标签 nextFocusDown/Forward 等。 文档


谢谢,这对我很有帮助。 - Stillie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接