如何在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 = “numberPassword”

的inputType = “手机”

的inputType = “手机”

的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"