Erro no selection quando a primeira posição faz parte da máscara.
tpinho opened this issue · 5 comments
Olá,
Quando a máscara é do tipo (##) ####-#### ao preencher o primeiro campo o cursor continua na posição de inserção do primeiro campo.
Existe a possibilidade de modificação da máscara de maneira dinâmica? Exemplo.: O usuário informa alguns valores e a depender da quantidade de valores informados modificar a máscara?
Muito obrigado.
Oi Thiago,
Eu não estou conseguindo mexer muito nesse projeto, mas quando tiver algum tempo vou tentar dar uma olhada.
Você verificou se isso acontece em todas as versões do Android? Que versão você está testando? Você está usando hint?
Só pra ver se eu entendi. Dada a máscara (##) ####-#### onde o cursor (vou usar o | pra representar o cursor) aparece?
a) |(##) ####-####
b) (|##) ####-####
Depois que você digita a primeira letra (x) onde fica o cursor?
a) |(x#) ####-####
b) (|x#) ####-####
c) (x|#) ####-####
Pra mudar a máscara dinamicamente é só chamar setMask(novaMascara), onde novaMascara é uma String. Você pode encontrar um exemplo aqui: https://github.com/toshikurauchi/MaskedEditText/blob/master/MaskedEditTextExample/src/br/com/sapereaude/maskedEditText/MaskedEditTextExampleActivity.java
[]s
Muito obrigado pelo retorno.
Estou utilizando a versão 4.4, sim, estou usando hint.
Como estou utilizando o hint quando o campo está vazio é exibido o hint.
Quando é digitada a primeira letra o cursor fica dessa maneira: (|x#) ####-####. Ao verificar o código, no método onSelectionChanged, quando !selectionChanged é calculo o selStart correto, que nesse caso seria 2, mas quando selectionChanged, o selStart é calculado com o valor 1.
Vou verificar esse exemplo, então, é possível modificar a máscara quando o campo já está preenchido?
Abraços.
Eu não tenho nada do Android instalado na máquina que estou agora, então não consigo testar.
Quando conseguir um tempo eu vou tentar corrigir esse bug. Se você encontrar uma solução, pull requests são bem vindos :)
Não me lembro direito desse detalhe, mas acho que se você mudar a máscara ele vai apagar o texto...
Esse bug acontece ou com hint ou com fill. Estou testando em um Galaxy Note 3.
It is very bad to use non-English language, since your question may be interesting to those 98% users who don't speak Portuguese.