Spanish webview: precargar URL

CSesma

Member
Licensed User
Longtime User
Hola,

¿Sabéis alguno si se puede cargar una URL para mostrarla cuando lo necesites?

Lo pregunto porque la web que quiero cargar tarda bastante y me gustaría poder reducir ese tiempo de algún modo.

Estoy utilizando el objeto webview. Si lo oculto, al hacerlo visible ya no muestra la página y si vuelvo a llamar al método loadURL("...") vuelve a tardar.

¿Alguna idea?

Muchas gracias.
 

mvera

Active Member
Licensed User
Longtime User
hola. según lo que te endiendo es que lo haces invisible =false y después lo cargas nuevamente, porque simplemente haces visible=true.

saludos
 

CSesma

Member
Licensed User
Longtime User
Hola, sí, si es eso lo que hago, lo que ocurre es que si primero invoco loadURL y después pongo el webview visible = false, cuando vuelvo a ponerlo visible = true, no se ve nada de la página, y tengo entonces que volver a llamar a loadURL. Mi problema es que la página a la que llamo tarda mucho y me gustaría de alguna manera tenerla "pre-cargada".

Muchas gracias
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

Eso que dices es muy raro. Yo me he encontrado con el mismo problema y nunca me pasó que al hacerla visible no se viera la pagina. Creo que te pasa por que la haces visible antes de que esté cargada.

Haz una prueba y pon esto en el evento del WebView:
B4X:
Sub WebView1_PageFinished (Url As String)
    Log("fin carga página " & Url)
End Sub
Con esto puedes verificar si la estas haciendo visible y que página estas cargando (Url) cuando ya cargó.



Si el hacer visible la página lo haces por código, podrias hacer algo asi (igual ya lo haces)
B4X:
Sub Process_Globals
Dim PaginaCargada as Boolean
...


' ----------------------------------------------------------
' Desde donde cargues la página
PaginaCargada = false
WebView1.LoadUrl("http://www.amazon.com") ' pon tu página, he puesto esta como ejemplo
...
' -----------------------------------------------------------


Sub WebView1_PageFinished (Url As String)
    Log("fin carga página " & Url)
    PaginaCargada = True
End Sub


' En la llamada de hacer visible la página mira si se ha cargado.
If PaginaCargada then WebView1.Visible = True


O si te interesa que cuando cargue se haga visible seria algo tan facil como esto:
B4X:
Sub WebView1_PageFinished (Url As String)
    WebView1.Visible = True
End Sub


Saludos
 

CSesma

Member
Licensed User
Longtime User
[SOLUCIONADO]

Muchas gracias Jesús,

Lo he implementado como dices y me funciona.
De todos modos antes de "desesperar" voy a probar en más dispositivos porque creo que tengo problemas con el que estaba probando...
 
Top