Java 有没有办法从我的设备键盘上删除特殊字符?
我正在从事一个Android项目,它将数据发送到我的Web服务,并将它们存储在我的数据库中 我添加了一个编辑文本字段,允许用户发表一些评论。但是,当数据到达Web服务时,诸如引号之类的字符被菱形中的问号所取代 因此,我实现了一个方法,它使用函数“replace”将特殊字符替换为“” 我的问题:是否有其他方法可以从我的键盘上删除这些字符(以防止使用这些字符)?或者用户可以按它,但不采取行动 编辑1: 最后,是否可以允许这些字符:Java 有没有办法从我的设备键盘上删除特殊字符?,java,android,special-characters,Java,Android,Special Characters,我正在从事一个Android项目,它将数据发送到我的Web服务,并将它们存储在我的数据库中 我添加了一个编辑文本字段,允许用户发表一些评论。但是,当数据到达Web服务时,诸如引号之类的字符被菱形中的问号所取代 因此,我实现了一个方法,它使用函数“replace”将特殊字符替换为“” 我的问题:是否有其他方法可以从我的键盘上删除这些字符(以防止使用这些字符)?或者用户可以按它,但不采取行动 编辑1: 最后,是否可以允许这些字符: [a-z] 重音字符 [A-Z] [0-9] ?,.;/:!%*-
- [a-z]
- 重音字符
- [A-Z]
- [0-9]
- ?,.;/:!%*-+\u{}()[
要阻止特殊字符,可以使用编辑文本的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);
我宁愿修复您那里的编码错误;)你可以设计自己的键盘。我怀疑这不是个好主意看看这篇文章,你可以自己定制,谢谢你的回答。我不是想设计我的键盘,但我只是想阻止特殊角色的动作。这能回答你的问题吗?