EditText防止输入空格、换行、限制输入字符长度

在某些使用EditText的场合,例如注册、登录的时候,会做出限制,防止用户输入空格或者换行,并且还会限制输入字符的长度。这个经常通过InputFilter来实现。这种需求出现比较频繁,代码使用频率较高,通常放在工具类里。现记录如下:

/**
 * EditText防止输入空格、换行、限制输入字符长度
 * @param editText
 * @param len 长度限制
 */
public static void setEditTextInhibitInputSpace(EditText editText, int len){
        InputFilter filter=new InputFilter() {
            @Override
            public CharSequence filter(CharSequence source, int start, int end,
                    Spanned dest, int dstart, int dend) {
                if(" ".equals(source) || "\n".equals(source)){
                    //空格和换行都转换为""
                    return "";
                }else{
                    return null;
                }
            }
        };
        editText.setFilters(new InputFilter[]{filter, new InputFilter.LengthFilter(len)});
    }
posted on 2017-12-23 23:55  lishbo  阅读(483)  评论(0编辑  收藏  举报