2010-11-26 8 views
40

Je veux désactiver l'affichage « Mots suggérés » sur le clavier virtuel/virtuel lorsque quelqu'un utilise ma demande (seulement sur certains Activities). Pour le clavier Android par défaut, cela peut être trouvé sous «Paramètres» (sous Paramètres Word Suggestion).Comment désactiver l'affichage des « suggestions » sur le clavier souple

Est-il possible de le désactiver uniquement dans votre application, sans que l'utilisateur doive le faire manuellement? Je veux essentiellement que l'utilisateur tape des mots sans fournir aucun indice.

Merci!

+0

dupliquer http://stackoverflow.com/questions/3789905/how-can-i-turnoff-suggestions-in-edittext – bancer

Répondre

58

Lors du développement de 2.0+, la voie supposée est mise android:inputType="textNoSuggestions" (ref). Malheureusement, des suggestions sont toujours affichées sur HTC Desire 2.2 (et probablement d'autres appareils HTC Sense).
L'utilisation de android:inputType="textVisiblePassword" n'aidera pas non plus car le clavier logiciel de HTC ne vous permettra pas de changer de langue.
Donc, je m'en tiens à android:inputType="textFilter" pour désactiver les suggestions.

+1

Je n'ai pas essayé d'utiliser "android: inputType =" textFilter ", mais je peux également confirmer que avec les contrôles EditText multi-lignées sur HTC Hense (en utilisant HTC Hero avec une ROM 2.1)" android : inputType = "textVisiblePassword" ne fonctionne pas. Cela fonctionne quand l'EditText n'est PAS multi-ligné. Merci! – Thira

+0

pour HTC Desire x, "android: inputType =" textFilter "travaillé Merci – alicanbatur

+3

" textVisiblePassword "désactiver Emoji, je ne peux pas utiliser cela.J'ai des suggestions supprimer avec android: inputType =" textNoSuggestions "android: privateImeOptions =" ​​nm "(nm: No Micro) – fingerup

5

Il existe deux façons de désactiver l'auto-complétion. Une façon est à travers le XML en définissant le android: inputType = "textVisiblePassword" dans la mise en page xml.

L'autre façon est par le code tel que le suivant

EdtiText editTextBox = findViewById(R.id.myEditTextView); 
editTextBox.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); 
+3

Vous ne pouvez pas désactiver les suggestions pour le champ de mot de passe comme ceci. Il est préférable d'utiliser EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS –

12

Cela fonctionne pour moi avec le clavier de stock, même sur HTC avec 2,2

final EditText et = (EditText) findViewById(R.id.SearchText); 
et.setInputType(et.getInputType() 
    | EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS 
    | EditorInfo.TYPE_TEXT_VARIATION_FILTER); 
+2

Je voudrais J'ajoute un pli dans lequel je suis tombé Il est possible que l'ajout de ces indicateurs à l'inputType existant ne fonctionne pas Dans mon cas, sur un Samsung Galaxy SIII tournant 4.04, le type d'entrée existant était EditorInfo.TYPE_CLASS_TEXT lorsqu'il était gonflé. n'empêche pas les suggestions, mais si je mets simplement le type inputType à EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS, cela empêche les suggestions: et.setIn putType (EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS); J'espère que cela t'aides. –

1

android:inputType="textPhonetic" cache suggestions de clavier tactile sur Android 1.6.

0

Si vous utilisez InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS dans l'activité, cela fonctionnera correctement. En cas de DialogFragment, vous devez placer InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS à gestionnaire onActivityCreated() comme ci-dessous: -

@Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 
     EditText editTextUsername = (EditText)dialogView.findViewById(R.id.txtUsername); 
     editTextUsername.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 
} 
0

espère que cela fonctionne pour vous,

editText.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_CAP_SENTENCES|InputType.TYPE_TEXT_FLAG_MULTI_LINE|InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 
17

Vous pouvez désactiver les suggestions sur le clavier souple en ajoutant la ligne suivante dans le fichier xml -

android:inputType="textNoSuggestions" 

selon this Cependant article, il peut ou ne peut pas être pris en charge par l'IME (le clavier).

Si ce problème se produit, la méthode ci-dessous fonctionne pour vous -

android:inputType="textNoSuggestions|textVisiblePassword" 
+0

Fonctionne également pour Samsung Galaxy Tab 4 (Android 4.4.2). –

6

Sur mon 6P courir Nougat, rien ne fonctionnait. Tant qu'elle est vide, la barre de suggestion reste affichée, car l'icône du microphone se trouve sur le côté droit. Afin de se débarrasser de cela, j'ai utilisé la suggestion de fingerup dans l'un des commentaires et cela a fonctionné! J'ai donc décidé d'écrire une réponse pour que les gens ne la manquent pas. Pour résumer voici ce que je l'ai utilisé:

android:inputType="textNoSuggestions|textFilter|textVisiblePassword" 
    android:privateImeOptions="nm" 

inputType="textNoSuggestions|textFilter|textVisiblePassword" empêche les suggestions et privateImeOptions="nm" (signifie « pas de micro ») empêche la barre d'apparaître parce qu'il serait encore depuis le bouton du micro est en elle. Il est donc nécessaire d'utiliser les deux attributs, car si vous ne spécifiez aucun micro, la barre s'affiche toujours avec des recommandations.
Thx à nouveau au doigt pour mentionner le tour nm. ;)

+0

Pour supprimer les suggestions de ligne ... tns – FlipNovid

Questions connexes