How do I use InputFilter to limit characters in an EditText in Android?

后端 未结 20 1669
慢半拍i
慢半拍i 2020-11-22 04:23

I want to restrict the chars to 0-9, a-z, A-Z and spacebar only. Setting inputtype I can limit to digits but I cannot figure out the ways of Inputfilter looking through the

20条回答
  •  野的像风
    2020-11-22 04:51

    I found this on another forum. Works like a champ.

    InputFilter filter = 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.isLetterOrDigit(source.charAt(i))) {
                    return "";
                }
            }
            return null;
        }
    };
    edit.setFilters(new InputFilter[] { filter });
    

提交回复
热议问题