android.support.v7.preference.EditTextPreference如何将键盘设置为数字

时间:2017-01-13 15:09:50

标签: java android android-support-library android-preferences

android:inputType无法从支持库EdidtTextPreference开始工作。是否可以使用此首选项更改输入类型?我想要一个数字键盘的偏好。更具体地说,我想设置一个自定义键盘,但我似乎甚至无法打开具有此首选项的默认键盘。如果EditTextPreference无法实现,有人可以告诉我如何按照自己的意愿行事吗?

<android.support.v7.preference.EditTextPreference
    android:key="key"
    android:title="title"
    android:maxLines="1"
    android:dialogMessage="title"
    android:inputType="number"  />

1 个答案:

答案 0 :(得分:0)

实际上,解决方案非常简单。由于android:inputType="number"似乎没有用,所以我这样做了:

PreferenceFragment.java

@Override
public void onResume() {
    EditTextPreference preference = (EditTextPreference) findPreference("key");
    EditText et = preference.getEditText();
    if (et != null) {
        et.setInputType(InputType.TYPE_CLASS_NUMBER);
        //in fact, you can do whatever you can normally with an EditText here
    }
}

尽管我不确定这是否适用于最新的androidx Preference。