我一直使用以下方法限制edittext中的输入;
InputFilter filter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
String output = "";
for (int i = start; i < end; i++) {
if (source.charAt(i)!='~'&&source.charAt(i)!='/') {
output += source.charAt(i);
}
}
return output;
}
};
然而,任何使用这种方法的人都会发现,当它与自动更正和退格键混合使用时,会导致重复字符。为了解决这个问题,我从键盘中移除了自动更正栏,如下所示:
Edittect.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
现在这个功能在原生的安卓键盘上运行良好,但问题在于在其他(来自谷歌商店)的键盘上不会禁用自动纠正,因此我又遇到了重复字符的问题。有人遇到过这种情况/知道如何解决吗?