Hola, estoy haciendo una app en B4A en la que uso un webview, este tiene una pagina inicial, pero al girar el dispositivo recarga de nuevo el activity y me vuelve a la página inicial aunque ya este navegando en otra.
Lo mismo pasa si estas introduciendo datos en un formulario, al girar vuelve a cargar la pagina y pierdes todo lo escrito.
Es ahi donde debes evitar que si no es la primera vez que pasas algunas cosas no se vuelvan a ejecutar. Pero si estas empezando, al menos asi lo hago yo, quizas te sea mas facil definir solo un tipo de pantalla en:
B4X:
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
o
#SupportedOrientations: landscape
en vez de
#SupportedOrientations: unspecified
Esto esta en las primeras lineas del codigo en los artibutos del proyecto.
Tambien puedes guardar la dirección actual en una variable global, y si por ejemplo cargas la página web en el Create, entonces cargas la url de antes del giro. Para eso puedes emplear cualquiera de los dos eventos que tiene el WebView
B4X:
Sub Process_Globals
Dim NombrePaginaWebActual = "" as String
dim NombrePaginaWebInicial = "www.bgssoft.com" ' :D
' -----------------
' -----------------
' -----------------
Sub Activity_Create(FirstTime As Boolean)
if FirstTime then
CargarPaginaWeb(NombrePaginaWebInicial)
else
if NombrePaginaWebActual <> "" then
CargarPaginaWeb(NombrePaginaWebActual)
else
CargarPaginaWeb(NombrePaginaWebInicial) ' o la url que decidas
End if
End if
' -----------------
' -----------------
' -----------------
Sub CargarPaginaWeb(NombrePágina as string)
WebView1.LoadUrl(NombrePágina)
End Sub
' Evento del WebView
Sub WebView1_PageFinished (Url As String)
If Url <> "about:blank" Then NombrePaginaWebActual = Url
End Sub
Esto es un ejemplo simple de volver a cargar la ultima página, como implementarlo en tu código es algo que tu mejor que nadie sabe.