Android est automatiquement désactivé par autocomplete / autosuggest pour EditText dans l’émulateur

Ciblant Android 2.2

J’ai lu les réponses aux questions suivantes:

Désactiver le choix automatique pour EditText?

Android: Multiline & No autosuggest dans EditText

J’ai essayé les variantes suivantes sur les suggestions:

setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_FILTER); setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_FILTER | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); setInputType(InputType.TYPE_TEXT_VARIATION_NORMAL | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); setInputType(InputType.TYPE_TEXT_VARIATION_NORMAL | InputType.TYPE_TEXT_VARIATION_FILTER); setInputType(InputType.TYPE_TEXT_VARIATION_NORMAL | InputType.TYPE_TEXT_VARIATION_FILTER | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 

Tout cela fonctionne sur la plupart des appareils que j’ai testés (Droid X, Droid 2, Thunderbolt, Incredible) mais ne fonctionne pas sur l’émulateur et au moins un périphérique (Samsung GT i5500).

Existe-t-il un autre moyen de désactiver par programme l’autocomplétude / autosuggest pour un EditText d’une manière que l’émulateur et certains périphériques reconnaissent et respectent?

Pour les appareils Vodafone 845 (2.1), huawei 8800 (2.2), textVisiblePassword semble empêcher la prédiction des mots.

  vendorId.setInputType(android.text.InputType.TYPE_CLASS_TEXT | android.text.InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); 

ou

android: inputType = “textVisiblePassword”

Dans le format XML, ajoutez l’atsortingbut suivant à votre EditText :

 android:inputType="text|textNoSuggestions" 

Si cela ne fonctionne pas, ni les approches ci-dessus, alors il y a certainement un problème avec l’émulateur et l’autre périphérique, et vous devriez contacter directement les fabricants.

Voir aussi: Android: inputType (notez que EditText est une sous-classe de TextView , ce qui explique pourquoi cet atsortingbut fonctionne également pour EditTexts ).

J’ai essayé tout ce qui précède et rien de ce qui précède ne m’a vraiment aidé. J’ai recherché parmi les InputTypes disponibles et j’ai trouvé une solution, qui s’est avérée être TYPE_TEXT_FLAG_AUTO_COMPLETE :

mEditText.setInputType(InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE);

De sa description:

Cela signifie généralement que la méthode de saisie ne doit pas afficher les candidats eux-mêmes, mais peut s’attendre à ce que l’éditeur fournisse ses propres complétions / candidats à partir de InputMethodSession.displayCompletions ().

Je n’ai spécifié aucun ensemble de complétions et je ne reçois donc aucune suggestion automatique .

PS Flag InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD mentionné dans InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD ci-dessus fait également ce tour, mais il désactive également le basculement de la langue dans le clavier.

personnellement, ce code m’aide:

 autoCompleteTextView.setAdapter(null); autoCompleteTextView.setText(address); autoCompleteTextView.setAdapter(adapter); 

Je veux désactiver les suggestions lorsque je règle le texte afin de supprimer l’adaptateur et après avoir appelé setText , je le renvoie.

donc si vous voulez désactiver la suggestion utilisez simplement:

 autoCompleteTextView.setAdapter(null); 

Vous pouvez utiliser la classe AutoCompleteTextView et définir l’adaptateur qui ne contient rien de la référence de la classe AutoCompleteTextView

Exemple

  public class CounsortingesActivity extends Activity { protected void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.counsortinges); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_dropdown_item_1line, COUNTRIES); AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.counsortinges_list); textView.setAdapter(adapter); } private static final Ssortingng[] COUNTRIES = new Ssortingng[] {""}; } 

Utiliser android:inputType="textNoSuggestions|textVisiblePassword" pour Edittext corrige le problème.

Je me suis battu avec le même problème dans l’émulateur. Tout en testant, j’ai réalisé que ce qui apparaissait n’était pas la saisie semi-automatique normale, mais un aperçu spécial des caractères asiatiques (sans doute parce qu’il faut plusieurs clés pour générer un caractère asiatique). J’ai donc résolu ce problème en réglant la langue sur l’anglais. Je pense que ce que je voyais était l’option “Aperçu des clés” répertoriée sous le paramètre “Japanese IME” dans “Langue et clavier”.

Je devine qu’il serait assez difficile de désactiver cela dans une application individuelle sans se lancer dans la gestion du clavier et la prise en charge linguistique.

Vous pouvez également utiliser les options suivantes pour désactiver la suggestion automatique sur n’importe quel edittext.

  android:inputType="textNoSuggestions|textVisiblePassword"  

Cela a fonctionné pour moi.

Vous pouvez simplement utiliser la méthode setThreshold() de setThreshold() . Définissez le seuil sur 100, par exemple, lorsque vous ne souhaitez pas afficher de prédictions. Si vous souhaitez réactiver l’affichage des prévisions, réglez-le sur un petit int comme 1 ou 2 en fonction de vos besoins.

L’événement ‘oninput’ dans l’entrée a exécuté la fonction suivante:

 function RefreshAutoComplete(elm) { elm.keyup(); elm.focus(); } 

Je lance l’auto complète manuellement, et ça marche

Merci à tous pour votre aide

La réponse corrigée est incorrecte. Pour désactiver la suggestion automatique, ajoutez la propriété suivante à votre XML EditText

 android:inputType="textFilter"