2012-05-08 1 views
8

Sto cercando di disabilitare la scrittura facilitata per un dato EditText, come spiegato here, ma ho ancora ottenere il completamento automatico da previsione ...Non è possibile disabilitare la scrittura facilitata

Ho un Samsung Galaxy S con XT9 abilitato.

Chiunque può aiutare?

<EditText 
    android:id="@+id/search_field" 
    android:layout_width="300dp" 
    android:layout_height="27dp" 
    android:background="@drawable/bg_searchfield" 
    android:hint="@string/search_hint" 
    android:imeOptions="actionSearch" 
    android:inputType="text|textNoSuggestions|textFilter"/> 

risposta

19

un commento da this SO questione suggerisce che l'attributo XML non funziona per alcuni modelli, ma che il java-metodo funziona in questi casi. Quindi provare questo:

edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 

edit:

come suggerito nel commento qui sotto, ecco un'alternativa XML che ha funzionato:

android:inputType="textNoSuggestions|textVisiblePassword" 
+2

ho dovuto impostare Android: InputType = "textNoSuggestions | textVisiblePassword". Accetterò la tua risposta per il puntatore alla risposta. Grazie. – jul

+0

Ho provato con mEt_text.setInputType (InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); e ha funzionato per me. – Ankit

+0

Questa risposta ha il suo compromesso. Prova a cancellare una lettera dalla fine del testo dopo aver usato questo metodo. È necessario premere a lungo la chiave di cancellazione e quando inizia a cancellare, cancella tutto il testo. –

5
android:inputType="textNoSuggestions|textVisiblePassword" 

questa soluzione funziona, ma bisogna stare attenti con esso Non è possibile cambiare la lingua della tastiera sui dispositivi HTC (probabilmente il motivo è nella tastiera Sense) se è impostata la flag textVisiblePassword.

Così ho dovuto impostare InputType dal codice e di scrivere qualcosa di simile:

public static int getInputTypeForNoSuggestsInput() { 
    if (android.os.Build.MANUFACTURER.equalsIgnoreCase("Samsung")) { 
     return InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS 
       | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD; 
    } else { 
     return InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS; 
    } 
+0

Works for me. È necessario aggiungere sopra se condizione. –