接下来的焦点问题是关于编辑文本中的指针

时间:2018-11-22 14:48:58

标签: android xml android-layout android-edittext

我的应用程序的表单用户界面中有一些TextViewEditText用于更新用户信息,并且所有信息都位于单独的线性布局中,如下所示。

我的问题是,我正在使用android:nextFocusDown聚焦到下一个EditText,但是当用户使用Tab键切换到键盘上的下一个按钮时,EditText聚焦了正确的字段,而不是指针。它是该字段的开头,而不是结尾。如何不用编程就可以获取指向XML字段结尾的指针?

部分xml:

<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/formLayout"
android:focusable="true"
android:focusableInTouchMode="true">

<TextView
    android:text="PROFILE"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/topLayout"
    android:id="@+id/txtTitle"/>

 <LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:focusable="true"
    android:focusableInTouchMode="true">

    <TextView
        android:text="FIRST NAME: "
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:layout_width="220dp"
        android:layout_height="wrap_content"
        android:id="@+id/txtFNameLabel"
        android:textColor="@android:color/darker_gray"
        android:gravity="right" />

    <EditText
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/txtFNameLabel"
        android:id="@+id/txtFName"
        android:layout_alignTop="@id/txtFNameLabel"
        android:hint="Name"
        android:singleLine="true"
        android:imeOptions="actionNext"
        android:selectAllOnFocus="true" />
</LinearLayout>

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:focusable="true"
    android:focusableInTouchMode="true">
    <TextView
        android:text="LAST NAME"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:layout_height="wrap_content"
        android:id="@+id/txtLNameLabel"
        android:textColor="@android:color/darker_gray"
        android:gravity="right"/>

    <EditText
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:layout_height="wrap_content"
        android:id="@+id/txtLName"
        android:hint="Last Name"
        android:singleLine="true"
        android:imeOptions="actionNext"
        android:selectAllOnFocus="true" />
</LinearLayout>

2 个答案:

答案 0 :(得分:0)

尝试这种方式

使用android:nextFocusDown="@+id/txtLName"代替android:imeOptions="actionNext",它将同时关注下一个输入字段和指针。

答案 1 :(得分:0)

android:selectAllOnFocus="true"

也许是您可以获得的最接近的东西。但是我认为如果不编写代码,目前不可能