31

Android EditTextフィールドから特殊文字を制限するには?

4

5 に答える 5

44

android:digits="abcde.....0123456789"属性を追加しようとしましたか?数値フィールドであることを指定していandroid:digitsますが、文字や特殊文字も受け入れるように設定しても機能します (SDK-7 でテスト済み)。

これが機能しない場合は、次をKeyListener 参照して実装する必要があります: http://developer.android.com/reference/android/widget/TextView.html#setKeyListener(android.text.method.KeyListener)

于 2010-08-02T07:08:46.753 に答える
6

このメソッドに EditText オブジェクトを渡すだけです。また、ブロックする値を変数 blockCharacterSet に追加します。

private void disableSpecialChar(EditText editText) {
      final String blockCharacterSet = "<>";

      InputFilter filter = new InputFilter() {

       @Override
       public CharSequence filter(CharSequence source, int start, int end,
         Spanned dest, int dstart, int dend) {

        if (source != null && blockCharacterSet.contains(("" + source))) {
         return "";
        }
        return null;
       }
      };

      editText.setFilters(new InputFilter[] { filter });

     }
于 2015-03-26T06:36:46.773 に答える