Existe-t-il un moyen de désactiver par programme cette liste de suggestion automatique qui apparaît au fur et à mesure que vous tapez dans EditText?
Réponses
Trop de publicités?J'avais la même question mais je voulais toujours définir cette option dans mon fichier XML, donc j'ai fait un peu plus de recherches jusqu'à ce que je le découvre moi-même.
Ajoutez cette ligne dans votre EditText.
android:inputType="textFilter"
Voici un conseil. Utilisez cette ligne si vous voulez pouvoir utiliser la touche "Entrée".
android:inputType="textFilter|textMultiLine"
Le plus fiable que j'ai trouvé pour se débarrasser de la saisie semi-automatique est d'utiliser
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
sur votre EditText de contrôle. Que charlie a indiqué dans une réponse différente sur cette page,
android:inputType="textVisiblePassword"
est la version XML de ce drapeau.
Vous pouvez combiner ce drapeau avec
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
J'avais été en utilisant InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS sans InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD, qui a travaillé pour la plupart des téléphones, mais je suis tombée sur un téléphone Samsung pour lesquelles j'étais encore en train de saisie semi-automatique.
qui a suggéré d'utiliser InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD.
J'ai essayé ceci (avec InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS) et cela a fonctionné. Vous pouvez voir pourquoi même un téléphone qui pourrait ne pas saisir l'allusion que vous ne voulez pas de saisie semi-automatique permettrait d' avoir pour lui permettre d'être désactivé pour un champ de mot de passe. Short de la tenue de notre souffle, ce qui pourrait être la meilleure façon d'obtenir ce que nous voulons, à partir de ces téléphones.
Sur certains de mes appareils, la police a été légèrement modifié par ce drapeau - le plus nettement à distinguer un zéro (0) à partir d'un Oh (S) plus clairement, ce qui serait évidemment important pour l'affichage d'un mot de passe. Mais au moins, il a travaillé, et la nouvelle police n'était pas sans attrait.
Même si le poste sur lequel j'ai trouvé cette suggestion était vieux, le téléphone j'ai testé était très récente - d'un Samsung Galaxy Note II (SPH-L900) stock Android 4.1.2 de Sprint. Le clavier choisi était "le Clavier Samsung", et apparemment c'était la valeur par défaut de ce téléphone lorsque le client a reçu de Sprint. Donc, ce problème, apparemment, a persisté à travers les années pour au moins quelques-uns des importants Samsung gamme de téléphones.
Pour ceux d'entre vous qui, comme moi, n'ont pas de Samsung appareil de test, ce qui pourrait être des informations importantes.
OK, le problème était - dans Eclipse, vous ne recevez pas de suggestion pour le drapeau nommé: textNoSuggestion
Et vous ne pouvez pas le définir dans main.xml (où vous concevez l'interface utilisateur) car cet attribut pour inputType n'est pas reconnu. Donc, vous pouvez le définir dans le code en utilisant int const:
EditText txtTypeIt = (EditText) this.findViewById(R.id.txtTypeIt);
txtTypeIt.setInputType(524288);
Et merci jasta00 de m'aider à comprendre la réponse à cette question.