2014-08-28 13 views
13

Ho un'app per Android con un campo EditText in uno dei miei layout. Ho impostato l'attributo android:inputType="textNoSuggestions" per il mio EditText. Il campo di testo non visualizza più suggerimenti. Tuttavia, la barra dei suggerimenti è ancora nella parte superiore della tastiera virtuale e in questo momento sembra solo servire allo scopo di visualizzare l'icona del microfono di input vocale. Non voglio/preoccuparmi dell'input vocale per questo campo e desidero rimuovere la barra dei suggerimenti da questa tastiera virtuale. C'è un modo per farlo, possibilmente con un altro flag inputType?In Android EditText, come rimuovere la barra dei suggerimenti dalla tastiera virtuale?

+0

In genere l'icona di immissione vocale si trova nella parte inferiore della tastiera, accanto alla barra dello spazio. Utilizzi una tastiera di terze parti? Sono noti per aver ignorato le "cose" – reVerse

+0

No, questo è Nexus 5 w/kit kat 4.4 stock OS tastiera stock – ErlVolton

+0

Questo non risolve la rimozione completa della barra dei suggerimenti. –

risposta

11

Ho trovato una soluzione che funziona per me. Guardando il logcat mentre si preme la barra di ricerca in Google Now launcher evidenzia quanto segue:

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 

Allora, che cosa ho fatto è stato l'aggiunta di questa riga nel xml EditText:

android:privateImeOptions="nm" 

"nm" è tratto dal codice sorgente di 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"; 

Spero che questo aiuti!

+0

Funziona e aiuta molto. Grazie. – dazed

+0

Woah, grande osservazione, ma vedo la barra dei suggerimenti. L'icona del microfono è sparita. – user1841702

-1

Aggiungi Android: InputType = "textNoSuggestions" per EditExt

0

La combinazione di attributi XML che rimossi sia i suggerimenti ei suggerimenti Bar, pur mantenendo testo su più righe è stato il seguente:

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

o

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

+0

L'unico svantaggio che ho notato nell'implementare questo è che ora il campo EditText che ha una maxLine di 3 linee è mantenuto su una sola linea che non è l'ideale. Sto lavorando a una soluzione alternativa. –

+0

Ho risolto questo problema e aggiornato la mia risposta sopra. –

Problemi correlati