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

时间:2013-01-08 09:52:57

标签: java android special-characters

我正在开发一个Android项目,它将数据发送到我的webservice并将它们存储在我的数据库中。

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

所以我实现了一个方法,该方法使用函数“replace”将特殊字符替换为“”。

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

  

编辑1:

     

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

     
      
  • [A-Z]
  •   
  • 重音字符
  •   
  • [A-Z]
  •   
  • [0-9]
  •   
  • ?,。; /:!%* - + _ {}()[] ......
  •   
     

用“”替换另一个

1 个答案:

答案 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);
相关问题