Quiero saber cómo determinar cuando un WebView es completamente hecho de cargar.¿Cómo determinar cuándo se ha terminado de cargar Android WebView?
Permítanme definir completamente.
- Todas las redirecciones han sucedido
- La página se muestra visiblemente, nada todavía tiene que cargar
Malas respuestas a esta pregunta:
WebViewClient.onPageFinished()
- esto dispara múltiples veces si hay redirecciones cargando una página. También se dispara antes de que se muestre la página.
PictureListener.onNewPicture()
- esto dispara cada vez que la pantalla cambia y AFAICT cada redirección. ¿Cómo sabría qué disparo es el último?
WebChromeClient.onProgressChanged()
- el mismo problema que onPageFinished. (Agregado después de que David sugirió esta solución a continuación)
Thread.sleep(5000)
- debe ser obvio, por qué esto no es aceptable.
Por supuesto, una combinación inteligente de lo anterior que funciona sería perfecta.
¿Por qué quiero saber esto? Porque quiero para inyectar algo de JavaScript una vez una vez que la vista web es completamente hecho de cargar.
Agregando a su 'WebViewClient.onPageFinished()' "mala respuesta": Según [esto] (http://stackoverflow.com/a/5172952/725417), disparará varias veces ** también ** si tienes varios iframes en una página. – uTubeFan
@Carlos Man estoy exactamente en la misma posición que tú.Lo único que empeora mi situación es que PictureListener está en desuso. ¿Pudiste encontrar una solución? Tengo que calcular el número total de páginas en la vista web para las que necesito dividir el ancho del contenido con el ancho de la pantalla. Pero no puedo hacer eso hasta que la página esté completamente renderizada en la pantalla. Alguna solución? –
@ArunavhKrishnan Bueno, la última vez que miré esto fue hace 3 años. Al final, creo que hice algo similar a la respuesta aceptada. ¡Buena suerte! –