imeOptions不适用于CustomEditText

时间:2018-04-19 12:23:04

标签: android imeoptions

我需要在imeOptions上设置CustomEditText。 但是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;
    }
}

2 个答案:

答案 0 :(得分:1)

您的 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>

答案 1 :(得分:-1)

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);
            }

    }