Android par programmation désactiver la saisie semi-automatique/autosuggest pour EditText dans l'émulateur
Ciblant Android 2.2
j'ai lu les réponses aux questions suivantes:
désactiver autosuggest pour EditText?
Android: Multiligne Et Pas de autosuggest dans EditText
j'ai essayé les variations 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);
tous ces travaux sur la plupart des appareils que j'ai testé (Droid X, Droid 2, Thunderbolt, Incredible) mais ne fonctionne pas sur l'émulateur et au moins 1 périphérique (Samsung GT i5500).
y a-t-il une autre façon de programmatically de désactiver l'autocomplete/autosuggest pour un texte D'édition d'une manière que l'émulateur et certains appareils reconnaîtront et respecteront?
11 réponses
Pour Vodafone 845 (2.1), huawei 8800 (2.2), de dispositifs, textVisiblePassword semble empêcher la prédiction de mots.
vendorId.setInputType(android.text.InputType.TYPE_CLASS_TEXT | android.text.InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
ou
android:inputType= "textVisiblePassword"
dans la mise en page XML, ajouter l'attribut suivant à votre EditText
:
android:inputType="text|textNoSuggestions"
si ni ceci, ni les approches ci-dessus ne fonctionne, alors ce est presque certainement un problème avec l'émulateur et l'autre dispositif, et vous devriez contacter les fabricants directement.
Voir aussi: android: inputType (notez que EditText
est une sous-classe de TextView
, ce qui explique pourquoi cet attribut fonctionne aussi pour EditTexts
).
j'ai essayé tout ce qui précède et aucun d'entre eux ne m'a vraiment aidé. J'ai cherché par disponible InputTypes et j'ai trouvé une solution, qui s'est avéré être TYPE_TEXT_FLAG_AUTO_COMPLETE :
mEditText.setInputType(InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE);
D'après sa description:
cela signifie généralement que la méthode d'entrée ne doit pas indiquer les candidats lui-même, mais peuvent s'attendre pour le Editeur de fournir ses propres les achèvements/candidats de InputMethodSession.displayCompletions ().
Je n'ai pas spécifié de completions set et en conséquence je suis ne pas obtenir tout auto-suggestions .
PS. Le drapeau InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
mentionné dans commend ci-dessus fait aussi ce tour, mais il désactive basculer 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 mets du texte , donc je retire l'adaptateur et après avoir appelé setText
, je le renvoie.
donc si vous voulez désactiver la suggestion il suffit d'utiliser:
autoCompleteTextView.setAdapter(null);
vous pouvez utiliser la classe AutoCompleteTextView et régler l'adaptateur qui ne contient rien AutoCompleteTextView Classe De Référence
exemple
public class CountriesActivity extends Activity {
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.countries);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, COUNTRIES);
AutoCompleteTextView textView = (AutoCompleteTextView)
findViewById(R.id.countries_list);
textView.setAdapter(adapter);
}
private static final String[] COUNTRIES = new String[] {""};
}
en utilisant android:inputType="textNoSuggestions|textVisiblePassword"
pour Edittext corriger le problème.
je me battais avec le même problème dans l'émulateur. Pendant les tests, j'ai réalisé que ce qui apparaissait n'était pas l'autocomplete normale, mais un aperçu de caractère asiatique spécial (probablement parce qu'il nécessite plusieurs clés pour générer un caractère asiatique). Donc j'ai résolu cela en mettant la langue à l'anglais. Je pense que ce que je voyais était l'option "Key Preview" listée sous le paramètre "Japanese IME" dans "Language & keyboard".
je suppose qu'il serait être assez difficile à désactiver ce dans une application individuelle sans plonger dans la manipulation du clavier et la prise en charge de la langue.
vous pouvez également utiliser la commande suivante pour désactiver la suggestion automatique sur n'importe quel texte d'édition.
<EditText>
android:inputType="textNoSuggestions|textVisiblePassword"
</EditText>
ça a marché pour moi.
vous pouvez simplement utiliser la méthode setThreshold()
D'EditText. Définissez le seuil à disons 100 quand vous ne voulez pas montrer des prédictions. Si vous voulez réactiver montrant des prédictions, mis à dos une petite int comme 1 ou 2 selon vos besoins.
'oninput' événement dans l'entrée, a couru la fonction suivante:
function RefreshAutoComplete(elm) {
elm.keyup();
elm.focus();
}
j'exécute l'auto complète manuellement, et il fonctionne
Merci à vous tous pour l'aide
la réponse correcte est erronée. Pour désactiver auto suggérez d'ajouter la propriété suivante à votre fichier EditText XML
android:inputType="textFilter"