2017-05-27 2 views
0

Ich erstelle ein PIN-Dialog, der mehrere EditText enthält. Das Verhalten, das ich erreichen möchte, ist, wenn der Benutzer ein Zeichen eingibt, wird es zuerst angezeigt, bevor es mit dem Kennwort des EditText-Zeichens (Punkt/Punkt) maskiert wird.EditText - setText auf EditText mit inputType = numberPassword zeigt nicht den 'set' Text zuerst vor dem Passwort char

Anstatt den multiplen EditText zu verwalten, habe ich eine versteckte Ansicht (EditText), die die Tastatureingabe behandelt. Der Text wird dann auf den anderen EditText gesetzt, der als Pin-Ansicht dient. Wenn ich jedoch den Wert für den Pin aus der versteckten Ansicht heraus einstelle, wird das Passwort-Zeichen sofort gesetzt, keine Vorschau des eingestellten Wertes mehr. Das Verhalten ist anders, wenn ich versuchte, ein Zeichen direkt in die Pinansicht einzugeben.

Wie kann ich mit dieser aktuellen Einstellung das gewünschte Verhalten erzielen? Vielen Dank!

Antwort

0

Sie können dieses Verhalten auch erreichen, indem Sie nur eine Editext verwenden.

On Benutzer Keypress zeigen aktuelle Zeichen für 1 Sekunde, während alle eingegebenen Zeichen * angezeigt, wenn entered.Then den gesamten Text mit * ersetzen, wobei die Länge von Text eingeben innen EditText.

Grundsätzlich das Sichtbare Zeichen mit * nach 1 Sekunde umschalten, während man das echte Passwort in einer Variablen hält und dann das neu eingegebene Zeichen durch Ersetzen von Editiertext durch * von variable.length versteckt.

+0

Ich fürchte, das ist nicht das, was ich tun möchte. Vor dem Eingeben der PIN zeige ich für jede Pinansicht ein Bild an, wie einen Hinweis. Ich glaube, dass ich es nicht erreichen kann, wenn nur ein EditText verwendet wird. – sticky

0

Ich glaube, was ich wollte, ist nicht möglich. Von dem, was ich mache, bewegt sich der Cursor zum nächsten EditText, wenn der aktuelle Wert einen Wert erhalten hat.

Mit einem EditText mit inputType (in meinem Fall) numberPassword, sobald der Fokus aus dem EditText entfernt wurde oder wenn er nicht den Fokus an erster Stelle hat, zeigt ein Wert darauf sofort die ' Passwort 'Charakter.

Verwandte Themen