目标:用于EditTextPreference
获取用户输入的数字。
问题:我正在使用support.v7.preference
,并且据我了解,这个库给创建自定义带来了问题DialogPreference
(如何使用 support.v7.preference 和 AppCompat 以及潜在的缺点)。无论如何,我试图创建一个NumberPickerPreference
扩展,DialogPreference
但我得到了ClassCastException
.
我还找到了另一种方法:以编程方式设置对象的输入类型,EditTextPreference
如下所示:
EditTextPreference pref = (EditTextPreference) findPreference("pref_edit_text");
if (pref != null) {
pref.getEditText().setInputType(InputType.TYPE_CLASS_NUMBER);
}
没办法,我总是得到一个ClassCastException
。
我尝试的最后一种方法:修改 xml
android:inputType="numberDecimal"
android:digits="0123456789"
或者 android:numeric="integer"
没办法了,Dialog
我得到了全键盘,所以用户可以写一切。
有没有办法正确强制EditTextReference
只输入数字?