我正在寻找一种方法,以便用户只能使用edittext输入1-9之间的数字。不应该显示任何例外。不应该输入多个数字。
答案 0 :(得分:2)
Ther有两种解决方法 1)在您的XML fayl
中<EditText
android:id="@+id/edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="123456789"
android:inputType="number"
android:maxLength="1"/>
2)在您的Activity类
中 mEdit.setInputType(InputType.TYPE_CLASS_NUMBER );
mEdit.setKeyListener(DigitsKeyListener.getInstance("0123456789"));
mEdit.setSingleLine(true);
答案 1 :(得分:1)
您可以通过编程方式设置输入类型: -
myEditText.setInputType(InputType.TYPE_CLASS_NUMBER |
InputType.TYPE_NUMBER_VARIATION_PASSWORD);
myEditText.setKeyListener(DigitsKeyListener.getInstance("123456789"));
InputFilter[] inputArray = new InputFilter[1];
inputArray[0] = new InputFilter.LengthFilter(1);
myEditText.setFilters(inputArray);
&#13;
或者您可以像这样设置XML属性: -
android:inputType="number"
android:digits="123456789"
android:maxLength="1"
&#13;
答案 2 :(得分:1)
1。使用属性android:inputType="number"
仅input
号0-9
2。使用属性android:digits="123456789"
仅采用1-9
3。使用属性android:maxLength="1"
允许用户只输入一个digit
。
试试这个:
<EditText
android:id="@+id/edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:digits="123456789"
android:maxLength="1"/>
答案 3 :(得分:0)
试试这种方式
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="123456789"
android:maxLength="1"
android:inputType="number" />