2014-08-28 16 views
13

Mam aplikację na Androida z polem EditText w jednym z moich układów. Ustawiłem atrybut android:inputType="textNoSuggestions" dla mojego EditText. Pole tekstowe nie wyświetla już sugestii. Jednak pasek sugestii nadal znajduje się na górze miękkiej klawiatury, a teraz wydaje się, że służy tylko do wyświetlania ikony mikrofonu wejściowego głosowego. Nie chcę/nie dbam o wprowadzanie głosowe dla tego pola i chcę usunąć pasek sugestii z tej miękkiej klawiatury. Czy istnieje sposób, aby to zrobić, ewentualnie z inną flagą inputType?W Android EditText, jak usunąć pasek sugestii z miękkiej klawiatury?

+0

Zazwyczaj ikona wprowadzania głosowego znajduje się w dolnej części klawiatury tuż obok spacji. Czy używasz klawiatury innej firmy? Są znani z ignorowania "rzeczy" – reVerse

+0

Nie jest to Nexus 5 w/kit kat 4.4 stock OS stock keyboard – ErlVolton

+0

Nie rozwiązało to całkowitego usunięcia paska sugestii. –

Odpowiedz

11

Znalazłem rozwiązanie, które działa dla mnie. Patrząc na LogCat naciskając pasek wyszukiwania w Google Now wyrzutni zawiera następujące informacje:

07-03 19:50:07.760 1304-1304/? W/LatinIME﹕ Deprecated private IME option specified: nm 
07-03 19:50:07.760 1304-1304/? W/LatinIME﹕ Use com.google.android.inputmethod.latin.noMicrophoneKey instead 

Więc co zrobiłem było dodanie tej linii w pliku XML EditText:

android:privateImeOptions="nm" 

„nm” jest podjęta na podstawie kodu źródłowego LatinIME: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.0.1_r1/com/android/inputmethod/latin/LatinIME.java#93

public static final String IME_OPTION_NO_MICROPHONE_COMPAT = "nm"; 

Nadzieja to pomaga!

+0

Działa i bardzo pomaga. Dzięki. – dazed

+0

Woah, świetna obserwacja, ale widzę pasek sugestii. Ikona mikrofonu zniknęła. – user1841702

-1

Dodaj androida: InputType = "textNoSuggestions" do editext

0

Kombinacja atrybutów XML, które usunięto obie propozycje i sugestie bar przy zachowaniu tekstu multi-liniowy był następujący:

android:privateImeOptions="nm" 
 
android:inputType="textNoSuggestions | textMultiLine"

lub

android:privateImeOptions="nm" 
 
android:inputType="textFilter | textMultiLine"

+0

Jedną z wad, którą zauważyłem, jest to, że teraz pole EditText, które ma ustawione linie maxLines z 3 liniami, jest przechowywane tylko w jednej linii, która nie jest idealna. Pracuję nad obejściem problemu. –

+0

Rozwiązałem ten problem i zaktualizowałem moją odpowiedź powyżej. –

Powiązane problemy