EditText Set für Passwort mit Telefonnummer eingegeben? (Android)
-
19-09-2019 - |
Frage
Wie erhalte ich ein EditText sowohl mit einem Telefoneingang und die Fähigkeit, die Zeichenfolge zu verbergen. Ich weiß, dass
android:inputType="textPassword"
verbirgt die Zeichenfolge, während
android:inputType="phone"
bringt eine Wähltastatur-Schnittstelle auf.
Wie die beide kombinieren?
Lösung
android:password
ist veraltet, aber AFAIK ist der einzige Weg, weil android:inputType="phone|textPassword"
ignoriert ...
<EditText
android:id="@+id/EditText01"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:password="true"
android:inputType="phone" />
Andere Tipps
Ich glaube, das ist das, was Sie wollen?
android:inputType="numberPassword"
Edit:. Zum Zeitpunkt der Frage (2010) dies in der API nicht gewesen sein mag, aber für zeitgenössische Entwicklung, es ist verfügbar
Ich habe keine angemessene Lösung für dieses Problem gefunden. dtmilano die akzeptierte Lösung nicht vollständig funktionieren. Wenn die EditText im Querformat ausgerichtet ist, wo Sie die volle Bildschirmtastatur haben, zeigen die Zahlen noch im Klartext, nicht maskiert.
Ich verbrachte viel Zeit durch die eigentliche Textview-Code geht, und der Grund, warum dies ein Problem ist, ist, dass sie explizit die Input gegen InputType.TYPE_CLASS_TEXT werden überprüft und, wenn ich mich richtig, TYPE_MASK_CLASS wieder zu verwenden. Also, wenn Sie eine andere Input innerhalb dieser Grenzen sind (ich glaube, die Reichweite, die von TYPE_CLASS_TEXT und TYPE_MASK_CLASS das erste Byte), dann wird es nicht als Passwort erkannt wird, muss maskiert werden.
Ich weiß, was ich gesagt ziemlich verwirrend. Der eigentliche Code ist viel mehr verwirrend. Ich war ziemlich am Textview Code entsetzt ehrlich zu sein. Es ist ein Durcheinander, mit hart codierten Kontrollen überall. Horrible Codierung der Praxis, die zu Problemen wie dies führt.
Dieses Problem kann ohne die Verwendung von veralteten android:password
gelöst werden. Siehe meine Antwort hier .
Ich habe nicht versucht, aber es könnte möglich sein, die beide wie so zu kombinieren:
android:inputType="textPassword|phone"
inputType
können auf mehrere Werte annehmen .