Kann mir jemand sagen , wie das maskieren String in EditText
oder wie sich ändern , EditText
um Kennworttyp Teilzeicheneingabe oder ersetzen durch einen anderen Charakter wie diese 123xxxxxxxxx3455
String contents = et1.getText().toString();
et1.setText(contents.replace.substring(0, contents.length()-2),"*");
Bitte sagen Sie mir, wie ich die TextWatcher
Methode in Android verwenden kann.
android
android-edittext
textwatcher
Android-Entwickler
quelle
quelle
Die
TextWatcher
Schnittstelle verfügt über 3 Rückrufmethoden, die alle in der folgenden Reihenfolge aufgerufen werden, wenn eine Änderung am Text vorgenommen wurde:beforeTextChanged(CharSequence s, int start, int count, int after)
Wird aufgerufen, bevor die Änderungen auf den Text angewendet wurden.
Der
s
Parameter ist der Text, bevor eine Änderung angewendet wird.Der
start
Parameter ist die Position des Anfangs des geänderten Teils im Text.Der
count
Parameter ist die Länge des geänderten Teils in ders
Sequenz seit derstart
Position.Und der
after
Parameter ist die Länge der neuen Sequenz, die den Teil ders
Sequenz vonstart
bis ersetztstart+count
.Sie dürfen den Text in
TextView
dieser Methode nicht ändern (mithilfe vonmyTextView.setText(String newText)
).onTextChanged(CharSequence s, int start, int before, int count)
Ähnlich der
beforeTextChanged
Methode, jedoch aufgerufen, nachdem sich der Text geändert hat.Der
s
Parameter ist der Text, nachdem Änderungen übernommen wurden.Der
start
Parameter ist der gleiche wie in derbeforeTextChanged
Methode.Der
count
Parameter ist derafter
Parameter in der beforeTextChanged-Methode.Und der
before
Parameter ist dercount
Parameter in der beforeTextChanged-Methode.Sie dürfen den Text in
TextView
dieser Methode nicht ändern (mithilfe vonmyTextView.setText(String newText)
).afterTextChanged(Editable s)
Sie können den Text in
TextView
dieser Methode ändern ./! \ Warnung: Wenn Sie den Text in ändern
TextView
,TextWatcher
wird der erneut ausgelöst und eine Endlosschleife gestartet. Sie sollten dann wie eineboolean _ignore
Eigenschaft hinzufügen, die die Endlosschleife verhindert.Beispiel:
Zusammenfassung:
Eine gebrauchsfertige Klasse:
TextViewListener
Persönlich habe ich meinen benutzerdefinierten Text-Listener erstellt, der mir die 4 Teile in separaten Zeichenfolgen gibt, was für mich viel intuitiver zu bedienen ist.
Beispiel:
quelle
Ergänzende Antwort
Hier ist eine visuelle Ergänzung zu den anderen Antworten. Meine ausführlichere Antwort mit dem Code und den Erklärungen ist hier .
quelle
Verwenden von TextWatcher in Android
Hier ist ein Beispielcode. Versuchen Sie es mit der
addTextChangedListener
Methode von TextViewquelle
Eine etwas größere Perspektive der Lösung:
Das funktioniert bei mir, wenn ich es zum ersten Mal mache.
quelle
Erstellen Sie eine benutzerdefinierte TextWatcher-Unterklasse:
Stellen Sie den Listener für Ihren EditText ein:
quelle
Verwenden Sie für Kotlin die KTX-Erweiterungsfunktion : (Wird
TextWatcher
als vorherige Antwort verwendet)Import
core-KTX
:quelle
quelle
wenn Sie mit dialog edittext implementieren. Verwenden Sie wie folgt:. das gleiche gilt für die Verwendung in anderen Edittext.
quelle
Für weitere Informationen klicken Sie hier http://androiddhina.blogspot.in/2015/05/android-textwatcher.html
quelle