【问题标题】:Next focus down issue about pointer in the edit text下一个关于编辑文本中指针的焦点问题
【发布时间】:2018-11-22 14:48:58
【问题描述】:

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

我的问题是,我正在使用android:nextFocusDown 聚焦到下一个EditText,但是当用户在键盘上按到下一个按钮时,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>

【问题讨论】:

    标签: android xml android-layout android-edittext


    【解决方案1】:

    试试这个方法

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

    【讨论】:

    • 从任何地方移除这三个 android:focusable="true", android:focusableInTouchMode="true", android:selectAllOnFocus="true"
    • 把java文件也放进去,java里面的东西。
    【解决方案2】:
    android:selectAllOnFocus="true"
    

    也许是你能得到的最接近的东西。但我认为现在不写代码是不可能的

    【讨论】:

    • 那么,问题的原因是因为单独的线性布局中的编辑文本?
    猜你喜欢
    • 1970-01-01
    • 2022-11-08
    • 2021-11-28
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    相关资源
    最近更新 更多