我正在处理某个项目,其中某些edittext中我只希望它包含字母(小写字母和大写字母)和空格。所以我设置它在代码中动态如下:在文本中出现条件时,在edittext中输入的文本在较新的android版本上消失
txtoccupation.setFilters(new InputFilter[] {
new InputFilter() {
public CharSequence filter(CharSequence src, int start,
int end, Spanned dst, int dstart, int dend) {
if(src.equals("")){ // for backspace
return src;
}
if(src.toString().matches("[a-zA-Z ]+")){
return src;
}
return "";
}
}
});
上面的代码工作在我的较旧的Android 2.6 phone.That罚款,当我在比字母和空格之外的任何类型它不会对edittext.But所示,当我尝试上述新的kitkat设备,文本消失,并在下面的建议中显示。我该如何解决这个问题?
编辑: 我使用的输入滤波器
filter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
for (int i = start; i < end; i++) {
if (!Character.isLetter(source.charAt(i))&&!Character.isWhitespace(source.charAt(i))) {
return "";
}
if(Character.isWhitespace(source.charAt(i))){
return " ";
}
}
return null;
}
};
你使用的是什么字符编码服用? – 2014-09-26 12:59:49
@SanjayManohar我不明白你在说什么。 – 2014-09-26 13:01:04