我有edittext
,其中我只想插入整数值。有人可以告诉我我必须使用哪个属性吗?
答案 0 :(得分:380)
我猜xml属性为android:inputType="number"
。
答案 1 :(得分:122)
例如:
<EditText
android:id="@+id/myNumber"
android:digits="0123456789."
android:inputType="numberDecimal"
/>
答案 2 :(得分:104)
在代码中,您可以
ed_ins.setInputType(InputType.TYPE_CLASS_NUMBER);
答案 3 :(得分:25)
仅针对数字输入使用android:inputType="numberPassword"
和editText.setTransformationMethod(null);
来删除号码的自动隐藏。
OR
android:inputType="phone"
对于仅数字输入,我觉得这些方式比android:inputType="number"
好。提及&#34;数字&#34;的限制inputType是键盘允许切换到字符,也可以输入其他特殊字符。 &#34; numberPassword&#34; inputType没有这些问题,因为键盘只显示数字。甚至&#34;电话&#34; inputType适用于键盘不允许切换到字符。但你仍然可以输入几个特殊字符,如+,/,N等。
<强>的inputType =&#34;电话&#34; 强>
<强>的inputType =&#34;数&#34; 强>
答案 4 :(得分:6)
android:inputType="numberDecimal"
答案 5 :(得分:4)
<EditText
android:id="@+id/age"
android:numeric="integer"
/>
答案 6 :(得分:2)
使用以下内容可以更好地解决您的问题;
xml中的:
<EditText
android:id="@+id/age"
android:inputType="numberDecimal|numberSigned" />
或//在etfield.addtextchangelistener
内的活动中 private String blockCharacterSet="+(/)N,*;#";//declare globally
try {
for (int i = 0; i < s.length(); i++) {
if (blockCharacterSet.contains(s.charAt(i) + "")) {
String corrected_settempvalue = arrivalsettemp.substring(0, arrivalsettemp.length() - 1);
et_ArrivalSetTemp.setText(corrected_settempvalue);
if (corrected_settempvalue.length() != 0)
et_ArrivalSetTemp.setSelection(corrected_settempvalue.length());
}
}
} catch (Exception d) {
d.printStackTrace();
}
答案 7 :(得分:2)
如果有人想在imeOptions
启用时仅使用0到9之间的数字,请在EditText
机器人:的inputType =&#34;数|无&#34;
这将只允许数字,如果您点击键盘的完成/下一个按钮,您的焦点将移动到下一个字段。
答案 8 :(得分:2)
尝试以下代码:
Edittext_name.setKeyListener(DigitsKeyListener.getInstance("0123456789"));
它将允许您输入数字。您不能输入字符。
如果要输入字符而不是数字,则可以编辑getInstance
中引号之间的值。
答案 9 :(得分:0)
我需要赶紧使用TextWatcher在键盘上按Enter键。但我发现所有数字键盘android:inputType =“ number”或“ numberDecimal”或“ numberPassword”等不允许我在用户按下Enter时看到它。
我尝试了android:digits="0123456789\n"
,所有数字键盘都开始与Enter和TextWatcher一起使用。
所以我的方法是:
android:digits="0123456789\n"
android:inputType="numberPassword"
加editText.setTransformationMethod(null)
感谢barmaley和abhiank。
答案 10 :(得分:0)
我不知道'13的正确答案是什么,但是今天是:
myEditText.setKeyListener(DigitsKeyListener.getInstance(null, false, true)); // positive decimal numbers
您将获得一切,包括屏幕键盘是数字小键盘。
ALMOST一切。浓缩咖啡具有无限的智慧,可以让typeText("...")
莫名其妙地绕过过滤器并输入垃圾...
答案 11 :(得分:-3)
对我来说最简单
android:numeric="integer"
虽然这也更加自定义
android:digits="0123456789"