imeOptions 不适用于 CustomEditText

imeOptions not working for CustomEditText

我需要在 CustomEditText 上设置 imeOptions。 但是 imeOptions 不可用。

我的 CustomEditText:

public class CustomEditText extends AppCompatEditText {
    private Context context;

    public CustomEditText(Context context) {
        super(context);
        this.context = context;
    }

    public CustomEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
        this.context = context;
    }

    public CustomEditText(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        this.context = context;
    }
}

您的 CustomEditText 代码在我的设备中运行良好

您需要将 android:inputType="text" 设置为 android:imeOptions="actionNext"

您可以根据需要设置 inputTypeimeOptions

检查下面的例子

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.example.nilesh.testapp.CustomEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:imeOptions="actionNext"
        android:inputType="text" />

    <com.example.nilesh.testapp.CustomEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:imeOptions="actionNext"
        android:inputType="text" />

    <com.example.nilesh.testapp.CustomEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:imeOptions="actionNext"
        android:inputType="text" />

    <com.example.nilesh.testapp.CustomEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:imeOptions="actionNext"
        android:inputType="text" />

    <com.example.nilesh.testapp.CustomEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:imeOptions="actionNext"
        android:inputType="text" />

</LinearLayout>

make 方法来设置 imeOption,如下所示:

public class CustomEditText extends AppCompatEditText {
    private Context context;

    public CustomEditText(Context context) {
        super(context);
        this.context = context;
        setImeOption();
    }

    public CustomEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
        this.context = context;
        setImeOption();
    }

    public CustomEditText(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        this.context = context;
        setImeOption();
    }

private void setImeOption() {
                this.setImeOptions(EditorInfo.IME_ACTION_NEXT);
            }

    }