项目中遇到这样一个场景:EditText输入框限制输入3个字符,在有一些机型上出现如下图,出现拼音显示在EditText中,
可以对EditText设置InputFilter,来过滤带下划线的拼音。具体代码如下:
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
SpannableString ss = new SpannableString(source);
Object[] spans = ss.getSpans(0, ss.length(), Object.class);
if (spans != null) {
for (Object span : spans) {
if (span instanceof UnderlineSpan) {
return "";
}
}
}
return null;
}
};
mEditText.setFilters(new InputFilter[]{mInputFilter});
最终效果如图: