在android中指定编辑文本中的字符数

ZiZ*_*iZo 1 layout android android-edittext

我有一个小技巧,如何限制edit text在Android中的字符数... 例如,我想为名称字段设置一个限制,例如10个字符,因此它不允许用户输入超过10个字符.

另外,我在指定inputtypefor文本android:inputType="text|textPersonName"时遇到了另一个问题,我知道这个过程但它不起作用,因为它允许用户输入字符,数字和特殊字符.

我将非常感谢你的帮助.

提前致谢

Jay*_*bal 10

使用以下xml属性设置允许的最大字符数和数字

android:digits
android:maxLength
Run Code Online (Sandbox Code Playgroud)

例如:

<EditText
android:id="@+id/et_name"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:digits="abcdefghijklmnopqrstuvwxyz ."
android:maxLength="10" />
Run Code Online (Sandbox Code Playgroud)

这里,这只允许小写字母,空格和点(.)

Upate

通过java设置过滤器

InputFilter myFilter = new InputFilter() { 
        public CharSequence filter(CharSequence source, int start, int end, 
Spanned dest, int dstart, int dend) { 
                for (int i = start; i < end; i++) { 


                        if (!Character.isLetter(source.charAt(i))) { 
                                return ""; 
                        } 

                        if (i == start) {
                           return source.toUpperCase();
                        }

                } 
                return source; 
        } 
}; 

edit.setFilters(new InputFilter[]{myFilter}); 
Run Code Online (Sandbox Code Playgroud)