在偏好屏幕中输入EditText的类型?

时间:2011-06-03 18:22:08

标签: android

有没有办法在我的XML偏好设置屏幕中将EditText设置为仅接受数字输入?

6 个答案:

答案 0 :(得分:58)

在xml文件中:

android:inputType="number" 

或在运行时:

editText.setRawInputType(TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_NORMAL);

http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType

答案 1 :(得分:22)

EditTextPreference支持与EditText相同的所有XML属性。因此,请使用android:inputType="number"

答案 2 :(得分:9)

每个人都面临这个问题,因为当我们按下ctrl +空格时,eclipse没有显示提示。

只需复制

android:inputType="number"

并粘贴。它会像魅力一样工作

答案 3 :(得分:5)

完全同意答案。但是我想在这里添加一些东西:一旦你接受了数字输入,你仍然会遇到一个错误,即当用户点击空白的EditText上的提交时。因为您很可能将输入解析为int或double或float。空白输入将引发错误。我建议您使用try catch和NumberFormatException检查错误。

答案 4 :(得分:2)

 <EditTextPreference
    android:inputType="phone"
    android:key="phone_number"
    android:summary="@string/settings_phone_number_sum"
    android:title="@string/settings_phone_number" />

答案 5 :(得分:0)

我附上阅读首选项是try / catch NumberFormatException。如果异常,我返回默认值。

我发现将app从say float迁移到int类型首选项时很有用。以前的安装有浮动优先,新的安装使用int。

当然,还需要对用户输入进行验证。