Wyłączyć autosuggest dla EditText?

Czy jest sposób, aby programowo wyłączyć tę listę autosugest, która pojawia się podczas wpisywania EditText?

Author: Ronak Thakkar, 2009-12-24

11 answers

Miałem to samo pytanie, ale nadal chciałem ustawić tę opcję w moim pliku XML, więc zrobiłem trochę więcej badań, dopóki sam nie znalazłem.

Dodaj tę linię do swojego EditText.

android:inputType="textFilter" 
Oto wskazówka. Użyj tej linii, jeśli chcesz móc używać klawisza "enter".
android:inputType="textFilter|textMultiLine"
 102
Author: glr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-02 17:43:46
android:inputType="textNoSuggestions"  

Również lepiej poczytaj to

 97
Author: kreker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-16 12:31:05
android:inputType="textVisiblePassword" 

Działa jak urok

 49
Author: Mr_Hmp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-01 12:44:01
  1. Programowo

    edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
    
  2. XML

    android:inputType="textNoSuggestions|textVisiblePassword"
    
 32
Author: Enzokie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-24 16:56:51

Najbardziej niezawodnym sposobem pozbycia się autouzupełniania jest użycie

InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD 

Na twojej kontroli EditText. Jak powiedział charlie w innej odpowiedzi na tej stronie,

android:inputType="textVisiblePassword"

Jest wersją XML tej flagi.

Możesz połączyć tę flagę z

InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS

Używałem InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS bez InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD, który działał dla większości telefonów, ale potem natknąłem się na telefon Samsung, dla którego Wciąż miałem autouzupełnianie.

Android programowo wyłącza autocomplete / autosuggest dla EditText w emulatorze

Co sugerowało użycie InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD.

Próbowałem tego (wraz z InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS) i zadziałało. Możesz zobaczyć, dlaczego nawet telefon, który nie rozumie podpowiedzi, że nie chcesz autouzupełniania, miałby pozwolić na wyłączenie go dla pola hasła. Krótko trzymając nasze oddech, to może być najlepszy sposób, aby uzyskać to, czego chcemy z takich telefonów.

Na niektórych moich urządzeniach czcionka została nieco zmieniona tą flagą - najbardziej zauważalnie aby odróżnić zero (0) od Oh (O) wyraźniej, co oczywiście byłoby istotne dla wyświetlenia hasła. Ale przynajmniej zadziałało, a nowa czcionka nie była nieatrakcyjna.

Chociaż post, na którym znalazłem tę sugestię, był stary, telefon, na którym testowałem, był bardzo niedawny-Samsung Galaxy Note II (SPH-L900) stock Android 4.1.2 od Sprint. Wybrana klawiatura to "klawiatura Samsung" i najwyraźniej była to domyślna dla tego telefonu, gdy Klient otrzymał ją od Sprinta. Więc ten problem najwyraźniej utrzymał się przez lata przynajmniej dla niektórych ważnych linii telefonów Samsung.

Dla tych z Was, którzy, podobnie jak ja, nie mają urządzenia testowego Samsunga, może to być ważna informacja.
 14
Author: Carl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:33:26

Ponieważ nadal jest to problem, zamierzam opublikować tę odpowiedź. android: inputType = "textVisiblePassword" działa, ale jest to niepożądane, po pierwsze dlatego, że jest to błędne wprowadzenie, a po drugie, ponieważ wyłącza Pisanie gestami!

Zamiast tego musiałem użyć obu FLAG textNoSuggestions i textFilter. Jedno i drugie nie zadziałało.

android:inputType="textCapSentences|textFilter|textNoSuggestions"

Tekst był z innych powodów. Ale ten inputType zachował pisanie machnięcia i wyłączył Pasek sugestii.

 7
Author: Tariq,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-17 18:08:13

OK, problem był - w Eclipse nie dostajesz sugestii dla flagi o nazwie: textNoSuggestion

I nie można go ustawić w main.xml (gdzie projektujesz UI), ponieważ ten atrybut dla inputType nie jest rozpoznawany. Możesz więc ustawić go w kodzie używając int const:

EditText txtTypeIt = (EditText) this.findViewById(R.id.txtTypeIt);
txtTypeIt.setInputType(524288);

I dzięki jasta00 za pomoc w znalezieniu odpowiedzi na to pytanie.

 3
Author: kape123,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-07 06:54:51

[1]}miałem to na telefonach Samsunga z systemem 4.4.4. To rozwiązało mój problem

android:inputType="text|textVisiblePassword|textNoSuggestions"
 2
Author: Ajji,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-20 13:55:08
EditText emailTxt=(EditText)findViewById(R.id.email);
emailTxt.setInputType(android.text.InputType.TYPE_CLASS_TEXT | android.text.InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
To ci pomoże.
 1
Author: Thomas V J,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-14 09:18:35

Możesz po prostu użyć metody setThreshold() EditText. Ustaw próg na powiedzmy 100, jeśli nie chcesz wyświetlać prognoz. Jeśli chcesz ponownie aktywować przewidywania wyświetlania, ustaw je z powrotem na małą wartość int, taką jak 1 lub 2, w zależności od potrzeb.

 0
Author: kaolick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-19 17:04:42
android:inputType="text|textNoSuggestions"
 0
Author: Michael Peterson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-04 19:01:04