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)});
}