正确做法:editText.setFilters(new InputFilter[] { new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (source.equals(" ")) {
return "";
}
return null;
}
} });
注:之前坑的地方是每次source.toString.replace(" ",""),其实返回的是字符char型,toString()后就将每个字符转换成字符串,部分手机会拦截手写输入法每一步动作并将联想输入的字符串记录,所以造成重复输入。