Restringindo caracteres digitados no EditText do Android
Desenvolvendo em Android, temos alguns casos em que precisamos restringir os caracteres que são permitidos em campos como o EditText.
Um exemplo, é um campo que aceite valores como 1,80 e 1.80. No caso, se a restrição fosse somente números com . (ponto) como separador decimal, bastaria definir o android:inputType como numberDecimal. Porém, número com , (vírgula) como separador não iriam funcionar.
Para tarefas como essa, o atributo android:digits está aí para salvar a pátria. Basta definir nele quais dígitos serão permitidos naquele EditText e o Android cuida do resto.
Exemplo:
Permitir somente números, tanto com . como , como separadores decimais:
Fácil, não?
Essa solução também é util para ser usada em conjunto com o android:inputType=”numberDecimal”. Nesse caso, é apresentado o teclado numérico, permitindo que vírgulas também sejam incluídas.
Exemplo:
Outros exemplos
Números hexadecimais:
Somente números pares:
Abraço!