Android 首选项屏幕中编辑文本的输入类型?

Android 首选项屏幕中编辑文本的输入类型?,android,Android,有没有办法在我的XML首选项屏幕中将EditText设置为仅接受数字输入?EditText首选项支持与EditText相同的所有XML属性。因此,在xml文件中使用android:inputType=“number”: android:inputType="number" 或在运行时: editText.setRawInputType(TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_NORMAL); 完全同意这个答案。不过,我想在这里补充一点:一旦您接受

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

EditText首选项
支持与
EditText
相同的所有XML属性。因此,在xml文件中使用android:inputType=“number”:

android:inputType="number" 
或在运行时:

editText.setRawInputType(TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_NORMAL);

完全同意这个答案。不过,我想在这里补充一点:一旦您接受数字输入,仍然有一种可能出现错误的情况,即当用户单击空白编辑文本上的提交时。因为您很可能会将输入解析为int、double或float。空白输入将引发错误。我建议您使用try-catch和NumberFormatException检查错误。

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

抄袭

android:inputType="number"

和粘贴。它将像一个符咒一样工作

我附上的阅读偏好是try/catch NumberFormatException。如果出现异常,则返回默认值

我发现它在将应用程序从say float迁移到int类型首选项时非常有用。以前的安装首选浮动,新安装使用int

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


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

dammit我很兴奋有一个简单的问题我可以回答,但你在我点击提交之前就回答了,因为我试图包括开发文档:(无论如何,它在这里(),它不允许我添加浮点值,知道吗?@您好,先生,我想添加浮点值,比如(4.5),那么我如何添加?InputType=“number”未添加。@ZalaJanaksinh:您是否尝试过
numberDecimal
,如所示?@commonware Yes sir..使用numberDecimal解决了该问题。谢谢。我确实明白您的观点,但此答案下的注释已被清除。Mod note请注意,请尝试保留关于主题(例如与帖子相关的)的建设性注释setRawInputType()对于EditTextPreference无效。您需要首先在EditTextPreference上获取EditText()。该标记
android:inputType=“number”
不起任何作用。弹出的键盘仍然是普通键盘:(您使用的是哪个操作系统版本。因为它在我的google nexus设备中运行良好。最小API为14,最大API为17,我正在Android 4.1上的Galaxy S3上调试。2您是否在java文件editText.setRawInputType中尝试过以下代码(键入_CLASS | u NUMBER |键入_NUMBER _VARIATION _NORMAL);如果没有任何作用:尝试卸载应用程序,然后再试一次。对我有用