solo - ¿Cómo restringir los caracteres especiales de un campo EditText de Android?
personalizar edittext android (3)
He resuelto este problema en mi respuesta: Prevenir símbolos especiales en EditText . Puede cambiar la expresión regular según su requisito.
¿Cómo restringir los caracteres especiales de un campo EditText de Android?
Simplemente pase el objeto EditText a este método. También agregue los valores que se van a bloquear en la 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 });
}
¿Has intentado añadir el atributo android:digits="abcde.....0123456789"
? Aunque los android:digits
especifican que es un campo numérico, me funciona para configurarlo para que acepte letras y también caracteres especiales (probado en SDK-7).
Si esto no funciona, entonces tendrá que implementar KeyListener
Consulte: http://developer.android.com/reference/android/widget/TextView.html#setKeyListener(android.text.method.KeyListener)