Comment définir le type de saisie d'un EditText de manière programmatique ? J'essaie :
mEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
cela ne semble pas avoir d'effet.
Comment définir le type de saisie d'un EditText de manière programmatique ? J'essaie :
mEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
cela ne semble pas avoir d'effet.
Votre astuce a parfaitement fonctionné pour moi ! J'ai eu un problème similaire avec le paramétrage programmatique du type de saisie en multi-ligne.
Quelle est la signification d'avoir un opérateur OR bitwise ici ? Désolé, je suis nouveau sur Android.
Selon le Docs TextView la version programmatique d'Android:password est la suivante setTransformationMethod() et non pas setInputType(). Donc quelque chose comme :
mEdit.setTransformationMethod(PasswordTransformationMethod.getInstance());
devrait faire l'affaire.
Juste pour ajouter à cela, vous devez appeler setTransformationMethod au lieu de de setInputType. L'appel de setInputType après setTransformationMethod fait que l'EditText n'est plus en mode mot de passe.
Cette réponse est fausse pour la question posée. Cela ne fait que transformer le texte saisi dans le champ EditText
(remplace les caractères par les points du mot de passe). Cela n'a aucun effet sur ce qui est autorisé à être saisi dans le champ EditText
lui-même.
En définitive, setInputType appelle setTransformationMethod de l'intérieur, donc si vous passez le TYPE_TEXT_VARIATION_PASSWORD à setInputType, il le fera pour vous. Le problème semble provenir de l'appel de setSingleLine après l'appel de setInputType, qui appelle setTransformationMethod avec null ou le transformateur de ligne unique, ce qui efface le transformateur de mot de passe.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.