我的应用程序设置中有一个EditTextPreference
,我只想接受它的正十进制数:
<EditTextPreference
android:key="annual_vacation_setting"
android:title="@string/enter_annual_vacation"
android:defaultValue="@string/default_annual_vacation"
android:inputType="numberDecimal"
android:selectAllOnFocus="true" />
不幸的是,inputType
属性似乎没有任何效果。用户可以输入任意字符串。
解决方案1
您需要在onBinding
:之后将inputType
设置为其EditText
editTextPrefView.setOnBindEditTextListener { editText ->
editText.inputType = InputType.TYPE_CLASS_NUMBER
}
解决方案2
使用此FIX库。它会让你直接设置XML中的android:inputType=numberDecimal
到EditTextPreference