如何在android中设置唯一的数值为edittext?
我有一个edittext
,我只想要插入整数值。 有人可以告诉我,我必须使用哪个属性?
我猜在xml属性android:inputType="number"
。
在代码中,你可以做
ed_ins.setInputType(InputType.TYPE_CLASS_NUMBER);
比如像这样:
<EditText android:id="@+id/myNumber" android:digits="0123456789." android:inputType="numberDecimal" />
对于只有数字input使用android:inputType="numberPassword"
editText.setTransformationMethod(null);
android:inputType="numberPassword"
以及editText.setTransformationMethod(null);
删除号码的自动隐藏。
要么
android:inputType="phone"
对于只有数字input,我觉得这些方式比android:inputType="number"
更好。 提及“number”作为inputType的限制是键盘允许切换到字符,也允许input其他特殊字符。 “numberPassword”inputType没有这些问题,因为键盘只显示数字。 即使“电话”inputType作为键盘不允许你切换到字符。 但是你仍然可以input像+,/,N等几个特殊字符
android:inputType =“ numberPassword ” with editText.setTransformationMethod(null);
的inputType = “手机”
的inputType = “数量”
android:inputType="numberDecimal"
<EditText android:id="@+id/age" android:numeric="integer" />
使用下面可以更好的解决你的问题;
在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(); }
如果任何人只想使用从0到9的数字与imeOptions
启用然后使用您的EditText
下面的行
安卓的inputType =“号|无”
这将只允许数字,如果你点击完成/下一个button的键盘,你的焦点将移动到下一个领域。
对我来说最简单
android:numeric="integer"
虽然这也更加定制
android:digits="0123456789"