EDITTEXT sólo permiten letras (mediante programación)

Daan Seuntjens:

Estoy tratando de obtener una editTextview que sólo permite que las letras (bajos y mayúsculas).

Funciona con este código:

 edittv.setKeyListener(DigitsKeyListener.getInstance("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"));

El problema es que tengo un teclado numérico de la siguiente manera:

ejemplo el teclado

Para volver a un teclado normal me encontré con este código:

edittv.setKeyListener(DigitsKeyListener.getInstance("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"));
edittv.setInputType(InputType.TYPE_CLASS_TEXT);

Se trabaja para conseguir la parte posterior del teclado, pero entonces todos los caracteres se permitió de nuevo, por lo que es deshacer el código anterior.

Así que, ¿cómo puedo permitir únicamente letras con un teclado alfabético programáticamente.

Bhumilvys:

Puede utilizar este código de abajo:

InputFilter filter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end,
        Spanned dest, int dstart, int dend) {
    for (int i = start; i < end; i++) {
        if (!Character.isLetter(source.charAt(i))&&!Character.isSpaceChar(source.charAt(i))) {
            return "";
        }
    }
    return null;
}
};
edit.setFilters(new InputFilter[] { filter });

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=224506&siteId=1
Recomendado
Clasificación