2017-01-04 9 views
0

J'ai un EditText avec "textPassword" inputType dans mon application et j'ai essayé de définir un mot de passe non-anglais, mais le inputType n'a pas permettez-moi de choisir une autre langue. Peut-être que les utilisateurs de mon application préfèrent définir un mot de passe persan.Comment taper du texte non anglais dans un mot de passe EditText avec android: inputType = "textPassword"

See The Picture, Please

Des idées?

+0

avez-vous essayé modèle – Ozan

+0

@ozi: Non, je n'ai pas. Comment puis-je l'essayer? –

+0

J'ai essayé, et le mot de passe edittext accepte mon caractère spécial (ü) Quel était votre caractère spécial? – Ozan

Répondre

2

inputType est considéré comme un indice à l'application du clavier sur la façon de traiter un champ de texte spécifique, même si certains claviers ne permettent des mots de passe non-anglais, vous ne pouvez pas compter sur toutes les applications du clavier pour se comporter comme ça .

Au lieu d'utiliser le inputType, définissez le champ password à true, cela entraînera les personnages à cacher à l'écran, mais vous permettra d'obtenir une entrée, vous devriez probablement également désactiver les suggestions (en utilisant le champ inputType):

<EditText 
    android:id="@+id/password" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:inputType="text|textShortMessage|textNoSuggestions" 
    android:password="true"/> 

MISE à JOUR

Vous pouvez créer une EditText plaine avec quelques textes inputType, et juste définir les caractères à apparaître sous forme de points au lieu de te plaine xt:

EditText passwordView = (EditText) layout.findViewById(R.id.password); 
passwordView.setTransformationMethod(PasswordTransformationMethod.getInstance()); 
+0

Non, cela ne fonctionne pas. ça ne m'a pas laissé changer la langue aussi. si vous utilisez inputType ou non. et l'android: mot de passe est obsolète. –

+0

Oui ... C'est tout !!! Votre UPDATE a résolu le problème. Je vous remercie. –