Tengo un tabhost con 3 pestañas. En cada una de estas pestañas hay una vista web. Cuando hago clic en una pestaña, la vista web debe "volver a cargar" incluso cuando he estado allí antes, no se ha guardado. ¿Hay alguna manera de guardar la vista web?Android webView saveState
Respuesta
Esto puede ser manejado por overrwriting onSaveInstanceState (Bundle Outstate) en su actividad y llamar saveState de la vista web:
@Override
protected void onSaveInstanceState(Bundle outState) {
webView.saveState(outState);
}
luego se recupera esto en su onCreate después de la vista web ha sido re-inflado por supuesto:
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.blah);
WebView webview = (WebView)findViewById(R.id.webview);
if (savedInstanceState != null)
webview.restoreState(savedInstanceState);
else
webview.loadUrl(URLData)
}
puede consultar este LINK
alternativa, se puede ver en el uso de fragmentos con su tabHost. Al ingresar a otra webView, puede configurar el fragmento para ocultar y el otro para mostrar. cuando regrese al fragmento anterior, el contenido no habrá sido destruido. Así es como lo hice y funcionó para mí.
Lo siento, sé que tu respuesta es hace mucho tiempo, pero creo que puedes ayudarme a guardar el estado de mi webView. Aquí está mi pregunta: http://stackoverflow.com/questions/26142255/retrieve-an-activity-after-time-out-warning-notification – Hamid
Esto no está garantizado. Los fragmentos pueden destruirse si se detienen. – William
restoreState nunca fue confiable. Y en 2015, los documentos aceptan el hecho. (El cambio probablemente se hizo a los documentos alrededor de 2014). Esto es lo que dice ahora.
si se llama después de este WebView ha tenido la oportunidad de construir (páginas de carga, crear una copia/lista hacia adelante, etc.) del estado puede haber efectos secundarios indeseables. Tenga en cuenta que este método ya no restaura los datos de visualización para este WebView.
Y la entrada correspondiente para saveState() habla así:
Tenga en cuenta que este método ya no almacena los datos de visualización para esta vista Web.
Lo que realmente debe hacer dentro del método onCreate es llamar webView.loadUrl() si desea mostrar la última URL visitada, por favor ver este answer:
Si usted está preocupado por la vista web recargando sobre el cambio de orientación, etc.
puede configurar su actividad para manejar la orientación y cambios keyboardHidden, y luego simplemente dejar el WebView sola
- 1. Android Webview POST
- 2. Android WebView Javascript getSelection
- 3. Android WebView TimeOut
- 4. Android WebView onReceivedError()
- 5. Android WebView removeCookie
- 6. Android: WebView ActionBar (Honeycomb)?
- 7. Android WebView Protocol Handler
- 8. Android: PhoneGap vs Webview
- 9. Android WebView rendimiento
- 10. Android Webview navegación privada
- 11. Android webview & localStorage
- 12. Android. WebView y loadData
- 13. Accesibilidad y Android WebView
- 14. WebView con un android IFRAME
- 15. android webview contenido no seleccionable
- 16. Android WebView canGoBack siempre verdadero
- 17. Html Audio en Android Webview
- 18. Android singleTap/OnClick en WebView
- 19. WebView y cookies en Android
- 20. Android WebView no carga jQuery
- 21. Android WebView contacto evento enlace
- 22. Android: Muestra imágenes en Webview
- 23. Android WebView desplácese hacia abajo
- 24. Android WebView color de fondo
- 25. Menú contextual en Android WebView
- 26. Android WebView Ventana nueva URL
- 27. Android WebView 302 Redirect - Honeycomb
- 28. Android WebView JavaScript desde los recursos
- 29. Android WebView: Deshabilitar Desplazar borde amarillo Degradado
- 30. Android: interceptar llamada AJAX de WebView
El enlace está roto. –