是否可以将 EditTextPreference 限制为数字?
Is it possible to restrict a EditTextPreference to numbers?
我的应用程序设置中有一个 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
您需要将 inputType
设置为 onBinding
之后的 EditText
:
editTextPrefView.setOnBindEditTextListener { editText ->
editText.inputType = InputType.TYPE_CLASS_NUMBER
}
解决方案 2
使用这个 FIX library。它会让你直接设置
android:inputType=numberDecimal
到 EditTextPreference
在 XML
我的应用程序设置中有一个 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
您需要将 inputType
设置为 onBinding
之后的 EditText
:
editTextPrefView.setOnBindEditTextListener { editText ->
editText.inputType = InputType.TYPE_CLASS_NUMBER
}
解决方案 2
使用这个 FIX library。它会让你直接设置
android:inputType=numberDecimal
到 EditTextPreference
在 XML