2011-09-13 12 views
14

Ho alcuni input di testo HTML in una WebView e ho bisogno di disabilitare gli autosuggetions su questi input da Android, non da HTML (completamento automatico = disattivato).Disabilitare l'autosuggestion su WebView?

Come posso fare questo?

+0

qui è il collegamento principale [http://stackoverflow.com/questions/582244/is-there-a-w3c- valido-way-to-disable-completamento automatico-in-a-html-form] [1] [1]: http://stackoverflow.com/questions/582244/is-there-a-w3c -valid-way-to-disable-autocomplete-in-a-html-form –

risposta

3

Oltre a setSaveFormData impostazione come False, questo anche mi ha aiutato

WebView.getSettings().setSavePassword(false); 
WebView.clearFormData(); 
0

Non ho potuto fare questo dal lato di Android, tuttavia aggiungendo al testo del webview spellcheck = "false" ha fatto il trucco.

<textarea spellcheck="false"></textarea> 
11

Le risposte sopra suggerite non mi hanno aiutato. Quindi ho trovato la soluzione successiva: ho appena creato un semplice wrapper per WebView e l'ho usato.

public class NoSuggestionsWebView extends WebView { 
    public NoSuggestionsWebView(Context context) { 
     super(context); 
    } 

    public NoSuggestionsWebView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public NoSuggestionsWebView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
    } 

    @Override 
    public InputConnection onCreateInputConnection(EditorInfo outAttrs) { 
     InputConnection ic = super.onCreateInputConnection(outAttrs); 

     outAttrs.inputType &= ~EditorInfo.TYPE_MASK_VARIATION; /* clear VARIATION type to be able to set new value */ 
     outAttrs.inputType |= InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD; /* WEB_PASSWORD type will prevent form suggestions */ 

     return ic; 
    } 
} 
+0

Brillante! Ho avuto lo stesso problema nella mia app e, dopo aver applicato questo, gli utenti hanno segnalato il problema risolto. –

0

Se ha già i dati del modulo quindi setSaveFormData(false) non si fermerà da utilizzarlo. Per cancellare il database potrebbe essere necessario effettuare le seguenti operazioni:

WebViewDatabase.getInstance(this).clearFormData();

Problemi correlati