Android EditText强制数字键盘但允许非数字字符

时间:2014-04-03 13:28:45

标签: android android-edittext android-input-filter

我需要维护一个EditText,可以通过用户号输入,在某些情况下,我需要将EditText的文本设置为12 $。所以我需要setText()能够得到我想要的任何东西。

我尝试设置一个EditText,输入类型设置为number,产生数字小键盘,同时删除EditText的InputFilter - 这仍然不允许我放置非数字字符

input.setFilters(new InputFilter[] {});

我做错了吗?是否有不同的方法来实现我的目标,一个带有数字小键盘的EditText,我可以通过编程方式将一些非数字字符插入?

3 个答案:

答案 0 :(得分:9)

这将保持数字但允许$字符,添加android:digits属性所需的任何其他特殊字符

<EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:digits="0123456789,$">

答案 1 :(得分:2)

只是为了增加aviran的答案。如果你放任何&#34;,&#34;在字符串中,您还将允许EditText中的逗号。

下面只允许0-9和$。

<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="number" android:digits="0123456789$">

答案 2 :(得分:0)

在xml中设置输入类型Phone。

这可以帮到你...

how to set only numeric value for edittext in android?