Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法从我的设备键盘上删除特殊字符?_Java_Android_Special Characters - Fatal编程技术网

Java 有没有办法从我的设备键盘上删除特殊字符?

Java 有没有办法从我的设备键盘上删除特殊字符?,java,android,special-characters,Java,Android,Special Characters,我正在从事一个Android项目,它将数据发送到我的Web服务,并将它们存储在我的数据库中 我添加了一个编辑文本字段,允许用户发表一些评论。但是,当数据到达Web服务时,诸如引号之类的字符被菱形中的问号所取代 因此,我实现了一个方法,它使用函数“replace”将特殊字符替换为“” 我的问题:是否有其他方法可以从我的键盘上删除这些字符(以防止使用这些字符)?或者用户可以按它,但不采取行动 编辑1: 最后,是否可以允许这些字符: [a-z] 重音字符 [A-Z] [0-9] ?,.;/:!%*-

我正在从事一个Android项目,它将数据发送到我的Web服务,并将它们存储在我的数据库中

我添加了一个编辑文本字段,允许用户发表一些评论。但是,当数据到达Web服务时,诸如引号之类的字符被菱形中的问号所取代

因此,我实现了一个方法,它使用函数“replace”将特殊字符替换为“”

我的问题:是否有其他方法可以从我的键盘上删除这些字符(以防止使用这些字符)?或者用户可以按它,但不采取行动

编辑1:

最后,是否可以允许这些字符:

  • [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);

我宁愿修复您那里的编码错误;)你可以设计自己的键盘。我怀疑这不是个好主意看看这篇文章,你可以自己定制,谢谢你的回答。我不是想设计我的键盘,但我只是想阻止特殊角色的动作。这能回答你的问题吗?