imeOption="actionNext" 在 TextInputLayout 中不工作

imeOption="actionNext" not working in TextInputLayout

我正在使用 material 设计中的浮动提示。我想将焦点从一个 EditText 转移到下一个,所以我在所有 editTexts 中放置了 imeOptions="actionNext",在最后一个 EditText 中放置了 imeOptions="actionDone。但是焦点并没有转移到下一个 EditText.

下面是我的 xml.

的片段
<android.support.design.widget.TextInputLayout
    android:id="@+id/streetWrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/TextInputStyle">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Street/Locality *"
        android:imeOptions="actionNext"
        android:maxLines="1"/>

</android.support.design.widget.TextInputLayout>

<android.support.design.widget.TextInputLayout
    android:id="@+id/flatWrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/_10sdp"
    android:theme="@style/TextInputStyle">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Building Name / Flat Number*"
        android:imeOptions="actionNext"
        android:maxLines="1"/>

</android.support.design.widget.TextInputLayout>

您应该在 EditText 部分添加 android:imeOptions="actionNext"

<android.support.design.widget.TextInputLayout
    android:id="@+id/streetWrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/TextInputStyle">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:imeOptions="actionNext"
        android:maxLines="1"
        android:inputType="text"/>
</android.support.design.widget.TextInputLayout>

将属性 android:inputType="text" 添加到您的 EditText

试试这个:

<android.support.design.widget.TextInputLayout
    android:id="@+id/streetWrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Street/Locality *"
        android:imeOptions="actionNext"
        android:maxLines="1"
        android:inputType="text"/>

</android.support.design.widget.TextInputLayout>

<android.support.design.widget.TextInputLayout
    android:id="@+id/flatWrapper"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/_10sdp">

    <EditText

        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Building Name / Flat Number*"
        android:imeOptions="actionNext"
        android:maxLines="1"
        android:inputType="text"/>

</android.support.design.widget.TextInputLayout>

您应该在标签部分添加 android:inputType="text"

如果不添加 inputType imeOption 是行不通的

试试这个:

<android.support.design.widget.TextInputLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/dimens_16dp">

                    <android.support.design.widget.TextInputEditText
                        android:id="@+id/et_impian"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:hint="@string/text_fill_your_dream_here"
                        android:imeOptions="actionNext"
                        android:inputType="text"
                        android:backgroundTint="@color/color_green_manulife"/>

                </android.support.design.widget.TextInputLayout>

在我的例子中,我还必须添加 android:nextFocusForward="@id/secondInput"。确保您在 TextInputEditText 而不是 TextInputLayout.

上添加 id
<com.google.android.material.textfield.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="First input">

    <com.google.android.material.textfield.TextInputEditText
        android:id="@+id/firstInput"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:imeOptions="actionNext"
        android:inputType="number"
        android:nextFocusForward="@id/secondInput">

        <requestFocus />
    </com.google.android.material.textfield.TextInputEditText>
</com.google.android.material.textfield.TextInputLayout>

<com.google.android.material.textfield.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Second input">

    <com.google.android.material.textfield.TextInputEditText
        android:id="@+id/secondInput"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:imeOptions="actionDone"
        android:inputType="text"
        android:maxLines="1" />
</com.google.android.material.textfield.TextInputLayout>