Czy ktoś może mi powiedzieć, jak zamaskować podciąg w EditText
lub jak zmienić EditText
dane wejściowe podciąg na typ hasła lub zastąpić innym znakiem, takim jak ten 123xxxxxxxxx3455
String contents = et1.getText().toString();
et1.setText(contents.replace.substring(0, contents.length()-2),"*");
Proszę, powiedz mi, jak mogę użyć tej TextWatcher
metody w systemie Android.
android
android-edittext
textwatcher
Programista Androida
źródło
źródło
TextWatcher
Interfejs ma 3 sposoby wywołania zwrotne które nazywane są w następującej kolejności, gdy nastąpiła zmiana w tekście:beforeTextChanged(CharSequence s, int start, int count, int after)
Wywoływane przed zastosowaniem zmian w tekście. Parametr jest tekst przed stosowana jest jakakolwiek zmiana. Parametrem jest pozycja od początku zmienionych części w tekście. Parametrem jest długość zmienionych części w kolejności od tej pozycji. A parametrem jest długość nowej sekwencji, która zastąpi część sekwencji od do . Nie możesz zmieniać tekstu w z tej metody (używając ).
s
start
count
s
start
after
s
start
start+count
TextView
myTextView.setText(String newText)
onTextChanged(CharSequence s, int start, int before, int count)
Podobna do
beforeTextChanged
metody, ale wywoływana po zmianie tekstu. Parametr jest tekst po zmiany zostały zastosowane. Parametr są takie same jak w metodzie. Parametrem jest parametrem sposobu beforeTextChanged. A parametrem jest parametr w metodzie beforeTextChanged. Nie możesz zmieniać tekstu w z tej metody (używając ).s
start
beforeTextChanged
count
after
before
count
TextView
myTextView.setText(String newText)
afterTextChanged(Editable s)
Możesz zmienić tekst w
TextView
z tej metody./! \ Ostrzeżenie: Kiedy zmienisz tekst w
TextView
,TextWatcher
nastąpi ponowne wyzwolenie, rozpoczynając nieskończoną pętlę. Następnie należy dodaćboolean _ignore
właściwość, która zapobiega nieskończonej pętli.Przykład:
Podsumowanie:
Klasa gotowa do użycia:
TextViewListener
Osobiście stworzyłem własny odbiornik tekstu, który daje mi 4 części w oddzielnych ciągach, co jest dla mnie znacznie bardziej intuicyjne w użyciu.
Przykład:
źródło
Dodatkowa odpowiedź
Oto wizualne uzupełnienie innych odpowiedzi. Moja pełniejsza odpowiedź z kodem i objaśnieniami jest tutaj .
źródło
Korzystanie z TextWatchera w systemie Android
Oto przykładowy kod. Spróbuj użyć
addTextChangedListener
metody TextViewźródło
Trochę większa perspektywa rozwiązania:
To działa dla mnie, robię to za pierwszym razem.
źródło
Utwórz niestandardową podklasę TextWatcher:
Ustaw odbiornik dla EditText:
źródło
Dla Kotlin użyj funkcji rozszerzenia KTX : (używa
TextWatcher
jak poprzednie odpowiedzi)import
core-KTX
:źródło
źródło
jeśli implementujesz z dialogiem edittext. użyj w ten sposób :. to samo z użyciem do innych edytorów.
źródło
Aby uzyskać więcej informacji, kliknij tutaj http://androiddhina.blogspot.in/2015/05/android-textwatcher.html
źródło