Fala galerinha, tudo sussa?

Essa semana um visitante do blog me perguntou o que eu usava para tratar máscara de CPF e CNPJ no Android, já que as opções de máscaras nativas do Android não atendem a essa necessidade dos desenvolvedores do Brasil, passei uma soluçãozinha que uso a muito tempo pra ele e lembrei que eu não tinha postado nada relacionado por aqui ainda, a minha solução se baseia na classe TextWatcher, esta classe está disponível desde a API 1, quando um objeto de TextWatcher é adicionado a um Editable, faz os métodos do TextWatcher serem chamados quando o texto do editable é mudado, então, basicamente o que eu faço é adicionar ou remover a máscara conforme o usuário altera o texto.

O código da classe, bem como um projeto de exemplo podem ser encontrados no meu GitHub, mas pra facilitar a vida de vocês eu também vou colocar ele abaixo.

 

Pra usar esta belezinha, uma vez que você já tenha o objeto do EditText simplesmente adicione o listener e o tipo de máscara e a classe faz o resto.

O Enum é bem simples.

Esta classe pode ser adaptada para qualquer máscara, bastando criar um novo formato na classe MaskUtil e alterar o método onTextChanged do TextWatcher, além de criar um novo valor no enum MaskType.

Molezinha né? qualquer dúvida comenta aí, que eu respondo o mais rápido possível, ou não.

VN:F [1.9.22_1171]
Rating: 9.8/10 (5 votes cast)
VN:F [1.9.22_1171]
Rating: +2 (from 2 votes)
Mascara de CPF e CNPJ no Android, 9.8 out of 10 based on 5 ratings