How to restrict special characters from an Android EditText field?
Have you tried adding the android:digits="abcde.....0123456789"
attribute? Although the android:digits
specify that it is a numeric field, it does work for me to set it to accept letters as well, and special characters as well (tested on SDK-7).
If this doesn't work then you'll have to implement KeyListener
see: http://developer.android.com/reference/android/widget/TextView.html#setKeyListener(android.text.method.KeyListener)
Just pass the EditText object to this method. Also add the values that is to be blocked in the variable 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 }); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With