2013-01-08 30 views
0

我正在開發一個Android項目,它將數據發送到我的web服務並將它們存儲在我的數據庫中。有什麼辦法從我的設備鍵盤上刪除特殊字符?

我添加了一個編輯文本字段,允許用戶發表一些評論。但是當數據到達web服務時,像引號這樣的一些字符被菱形中的問號代替。

所以我實現了一個使用函數「replace」來替換特殊字符的方法。

我的問題:是否有其他方法刪除我的鍵盤(爲了防止使用這些字符)?或者用戶可以按下它,但沒有動作。

EDIT 1:

最後是有可能使這些字符:

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

並更換另外一個由「」

+3

我寧願修復你在那裏的編碼錯誤;) – Fildor

+0

你可以設計自己的鍵盤。我懷疑這不是一個好主意。 ;) –

+1

看看這個帖子,你可以自己定製它http://stackoverflow.com/questions/9577304/how-to-make-a-android-custom-keyboard – Talha

回答

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