我正在开发一个Android项目,它将数据发送到我的webservice并将它们存储在我的数据库中。
我添加了一个编辑文本字段,允许用户发表一些评论。但是当数据到达网络服务时,某些字符如引号会被菱形中的问号所取代。
所以我实现了一个方法,该方法使用函数“replace”将特殊字符替换为“”。
我的问题:是否有其他方法可以删除键盘(为了防止使用这些字符)?或者用户可以按下它但不采取行动。
编辑1:
最后是否可以允许这些字符:
- [A-Z]
- 重音字符
- [A-Z]
- [0-9]
- ?,。; /:!%* - + _ {}()[] ......
用“”替换另一个
答案 0 :(得分:2)
阻止特殊字符,你可以像这样使用编辑文本的setFilters。
InputFilter[] myfilters = new InputFilter[1];
myfilters[0] = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start,
int end, Spanned dest, int dstart, int dend) {
if (end > start) {
if (dest != null) {
//do some filter
}
}
return null;
}
};
editText.setFilters(myfilters);