利用InputFilter限制输入的类型以及字数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011557841/article/details/60961783
private InputFilter mInputFilter;
private InputFilter mInputFilterLengh;
mInputFilter = new InputFilter() {
            @Override
            public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
                String stringSourse = source.toString();
                StringBuilder stringBuilder = new StringBuilder();
                for (int i = 0; i < stringSourse.length(); i++) {
                    char ch = stringSourse.charAt(i);
                    //只可以输入数字、字母、汉字
                    String regEx = "[a-zA-Z0-9\u4E00-\u9FA5]";
                    Pattern p = Pattern.compile(regEx);
                    Matcher m = p.matcher(ch + "");
                    if (m.matches()) {
                        stringBuilder.append(ch);
                    }
                }
                return stringBuilder;
            }
        };
        mInputFilterLengh = new InputFilter.LengthFilter(30);
        mEditTextBranch.setFilters(new InputFilter[]{mInputFilter,mInputFilterLengh});

猜你喜欢

转载自blog.csdn.net/u011557841/article/details/60961783