2011-09-13 12 views
14

Tengo algunas entradas de texto HTML en WebView, y necesito deshabilitar las sugerencias automáticas en estas entradas de Android, no de HTML (autocompletar = apagado).Desactivando la autosugestión en WebView?

¿Cómo puedo hacer esto?

+0

aquí es el enlace principal [http://stackoverflow.com/questions/582244/is-there-a-w3c- válido-way-to-disable-autocompletar-in-a-html-form] [1] [1]: http://stackoverflow.com/questions/582244/is-there-a-w3c -valid-way-to-disable-autocomplete-in-a-html-form –

Respuesta

3

Además de setSaveFormData establecer como Falso, este también me ayudó

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

No pude hacer esto desde el lado de Android, sin embargo, al agregar a la entrada de texto de la vista web, spellcheck = "false" hizo el truco.

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

Las respuestas arriba sugeridas no me ayudaron. Así que encontré la siguiente solución: Acabo de crear un contenedor simple para WebView y lo usé.

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

¡Genial! Tuve el mismo problema en mi aplicación y después de aplicar esto, los usuarios informaron que el problema se resolvió. –

0

Si ya tiene los datos del formulario a continuación setSaveFormData(false) no evitará que lo usen. Para borrar la base de datos puede que tenga que hacer lo siguiente:

WebViewDatabase.getInstance(this).clearFormData();