Java android.support.v7.preference.EditTextPreference如何将键盘设置为数字
Java android.support.v7.preference.EditTextPreference如何将键盘设置为数字,java,android,android-support-library,android-preferences,Java,Android,Android Support Library,Android Preferences,android:inputType无法使用支持库中的EdidtTextPreference。使用此首选项是否可以更改输入类型?我想要一个带有数字键盘的首选项。更具体地说,我想设置一个自定义键盘,但我似乎甚至无法使用此首选项打开默认键盘。如果无法使用EditTextPreference,有人能告诉我如何做我想做的事情吗 <android.support.v7.preference.EditTextPreference android:key="key" android:tit
android:inputType
无法使用支持库中的EdidtTextPreference
。使用此首选项是否可以更改输入类型?我想要一个带有数字键盘的首选项。更具体地说,我想设置一个自定义键盘,但我似乎甚至无法使用此首选项打开默认键盘。如果无法使用EditTextPreference
,有人能告诉我如何做我想做的事情吗
<android.support.v7.preference.EditTextPreference
android:key="key"
android:title="title"
android:maxLines="1"
android:dialogMessage="title"
android:inputType="number" />
实际上,解决方法很简单。由于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首选项。“我想设置一个自定义键盘”——这是不可能的。选择输入法编辑器的是用户,而不是您。充其量,您可以向输入法编辑器提示您想要什么(例如,通过
android:inputType
)。EditTextPreference
的support.v7
版本并没有说它支持配置EditText
,我甚至不知道EditText
来自哪里,更不用说它是如何配置的了。@commonware是的,这也是我所震惊的,无法访问EditText
。不过我在源代码中找到了它。PreferenceFragmentCompat
启动PreferenceDialogFragmentCompat
,该对话框具有EditText
。有一些处理程序可以让我访问EditText
,我周一回去工作时会知道更多:)可能的重复