Android:仅允许1-9

时间:2017-06-05 10:55:02

标签: java android android-edittext

我正在寻找一种方法,以便用户只能使用edittext输入1-9之间的数字。不应该显示任何例外。不应该输入多个数字。

4 个答案:

答案 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)

您可以通过编程方式设置输入类型: -

&#13;
&#13;
 
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;
&#13;
&#13;

或者您可以像这样设置XML属性: -

&#13;
&#13;
 android:inputType="number"
 android:digits="123456789"
 android:maxLength="1"
&#13;
&#13;
&#13;

答案 2 :(得分:1)

1。使用属性android:inputType="number"input0-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" />
相关问题