web-dev-qa-db-de.com

Wie verwende ich EditTextPreference als maskiertes Passwort-Textfeld?

Ich habe eine sehr einfache Frage:
Ich habe einen EditTextPreference-Dialog, den ich verwenden möchte, um das Passwort des Benutzers zu erhalten, und ich möchte, dass es maskiert wird.

Wie kann ich das machen?

43
Avraham Shukron

Hier ist ein kurzes Beispiel mit xml:

<EditTextPreference
    Android:key="@string/key"
    Android:title="@string/title"
    Android:summary="@string/summary"   
    Android:inputType="textPassword" />

Oder Sie können numberPassword anstelle von textPassword verwenden.

113
inazaruk

Android:inputType="numberPassword" funktioniert bei mir nicht. Eclipse teilte mir mit, dass für dieses Attribut keine String-Werte zulässig sind.

<EditTextPreference
    Android:key="@string/key"
    Android:title="@string/title"
    Android:summary="@string/summary"   
    Android:inputType="number"
    Android:password="true" />

Dies brachte mir eine EditTextPreference mit einer gepunkteten Textanzeige und einer Zahlentastatur zur Eingabe.

4
CrizZ

Wenn Sie möchten, dass die Kennwortmaske auch nach dem Drehen des Geräts bestehen bleibt, können Sie die folgende imeOption hinzufügen:

im Textlayout bearbeiten Android:imeOptions="flagNoExtractUi"

oder programmgesteuert yourEditText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);

0
Paolo