Hay más de un enfoque para abordar este problema.
La salida más fácil es agregar android:configChanges="orientation|screenSize"
al correspondiente Activity
en su manifiesto. Al establecer este indicador, le indica a Android que no destruya el Activity
y que usted se encargará de todos los cambios de orientación (si corresponde).
El enfoque más moderno sería poner el WebView
dentro de un Fragment
y hacer que conserve su instancia, usando el indicador setRetainInstance(true)
. El alojamiento Activity
seguirá destruido en los cambios de orientación, pero el Fragment
que contiene el WebView
simplemente se desconectará y se volverá a conectar, sin la necesidad de volver a crearse. Puede encontrar an example de esta función en las demostraciones de la API. Tenga en cuenta que la biblioteca de soporte ofrece una implementación de fragmentos compatible con Honeycomb, por lo que no se deje engañar por el nivel API de la clase 'normal' Fragment
.
No, no, no. Por favor permita que su configuración se actualice cuando debería. –
@NightlyNexus ¿cuáles pueden ser las implicaciones de hacer esto dentro de una vista web? –
@cgomezmendez Permita siempre que sus Vistas restablezcan su estado. Sí, en este caso, un WebView no tiene estado para guardar y restaurar, pero ¿es WebView la única parte del estado de la instancia de su actividad? Casi seguro que no. –