web-dev-qa-db-fra.com

Comment utiliser EditTextPreference en tant que champ de texte Mot de passe masqué?

J'ai une question très simple:
J'ai une boîte de dialogue EditTextPreference que je veux utiliser pour obtenir le mot de passe de l'utilisateur et que je souhaite masquer.

Comment puis je faire ça?

43
Avraham Shukron

Voici un court exemple utilisant xml:

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

Ou vous pouvez utiliser numberPassword au lieu de textPassword.

113
inazaruk

Android:inputType="numberPassword" ne fonctionne pas pour moi. Eclipse m'a dit qu'aucune valeur de chaîne n'est autorisée pour cet attribut . J'ai donc utilisé ce qui suit:

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

Cela m'a valu un EditTextPreference avec un écran de texte en pointillé et un clavier numérique pour la saisie.

4
CrizZ

Si vous souhaitez que le masque de mot de passe persiste également après que la rotation du périphérique est suffisante, ajoutez la variable imeOption suivante:

dans la mise en page du texte d'édition Android:imeOptions="flagNoExtractUi"

ou par programmation yourEditText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);

0
Paolo