Alguém pode me dizer como para mascarar o substring em EditText
ou como mudar EditText
a entrada substring ao tipo de senha ou substituir por um outro personagem como este 123xxxxxxxxx3455
String contents = et1.getText().toString();
et1.setText(contents.replace.substring(0, contents.length()-2),"*");
Por favor, me diga como posso usar o TextWatcher
método no Android.
android
android-edittext
textwatcher
Desenvolvedor Android
fonte
fonte
A
TextWatcher
interface possui 3 métodos de retorno de chamada que são todos chamados na seguinte ordem quando ocorre uma alteração no texto:beforeTextChanged(CharSequence s, int start, int count, int after)
Chamado antes de as alterações serem aplicadas ao texto.
O
s
parâmetro é o texto antes de qualquer alteração ser aplicada.O
start
parâmetro é a posição do início da parte alterada no texto.O
count
parâmetro é o comprimento da parte alterada nas
sequência desde astart
posição.E o
after
parâmetro é o comprimento da nova sequência que substituirá a parte das
sequência destart
astart+count
.Você não deve alterar o texto
TextView
neste método (usandomyTextView.setText(String newText)
).onTextChanged(CharSequence s, int start, int before, int count)
Semelhante ao
beforeTextChanged
método, mas chamado após as alterações do texto.O
s
parâmetro é o texto após a aplicação das alterações.O
start
parâmetro é o mesmo dobeforeTextChanged
método.O
count
parâmetro é oafter
parâmetro no método beforeTextChanged.E o
before
parâmetro é ocount
parâmetro no método beforeTextChanged.Você não deve alterar o texto
TextView
neste método (usandomyTextView.setText(String newText)
).afterTextChanged(Editable s)
Você pode alterar o texto em a
TextView
partir deste método./! \ Aviso: Ao alterar o texto no
TextView
, oTextWatcher
será acionado novamente, iniciando um loop infinito. Você deve então adicionar como umaboolean _ignore
propriedade que evita o loop infinito.Exemplo:
Resumo:
Uma aula pronta para usar:
TextViewListener
Pessoalmente, criei meu ouvinte de texto personalizado, o que me dá as 4 partes em strings separadas, o que é, para mim, muito mais intuitivo de usar.
Exemplo:
fonte
Resposta complementar
Aqui está um suplemento visual para as outras respostas. Minha resposta mais completa com o código e as explicações está aqui .
fonte
Usando TextWatcher no Android
Aqui está um código de amostra. Tente usar o
addTextChangedListener
método de TextViewfonte
Perspectiva um pouco maior da solução:
Isso funciona para mim, na minha primeira vez.
fonte
Crie uma subclasse TextWatcher personalizada:
Defina o ouvinte para seu EditText:
fonte
Para Kotlin, use a função de extensão KTX : (usa
TextWatcher
como respostas anteriores)importar
core-KTX
:fonte
fonte
se você implementar com diálogo edittext. use assim :. é o mesmo com o uso para outro texto de edição.
fonte
Para obter mais referências, clique aqui http://androiddhina.blogspot.in/2015/05/android-textwatcher.html
fonte