android - programacion - ajuste de desplazamiento de carga de datos de webview sin actualizar hasta que se haga clic
manual android studio avanzado (1)
Actualizo el html en una vista web usando loadData () seguido de una recarga (). Obtengo los datos nuevos para mostrar pero el desplazamiento de la página no se ha actualizado. Quiero mantener la vista de la página en la parte inferior. Puedo esperar mucho tiempo y todavía no se actualiza. Una vez que hago clic en la vista web, las barras de desplazamiento se ajustan y puedo arrastrar hasta la parte inferior de la página y ver el nuevo texto.
Cosas que he intentado: - múltiples configuraciones y llamadas en onPageFinished (). Ninguno funcionó porque getContentHeight () aún no ha cambiado. También he intentado scrollTo (100 + getContentHeight) y eso no funciona. - pageDown (verdadero)
llamando a requestLayout () después de volver a cargar ()
browser.requestFocusFromTouch () - todavía no es bueno, pensando que podría simular mi clic.
agregando algunas etiquetas br Esto funcionó un poco, pero el número de br''s tiene que ser igual al número de líneas de texto nuevo. Dado que el número de líneas nuevas no es algo que pueda determinarse exactamente en función de las variables de orientación y pantalla, no es una buena solución. ¿Algunas ideas? TIA
Si desea que la vista web se desplace hacia abajo una vez que haya terminado de cargarse, descubrí que tenía que usar pageDown (verdadero) en NewPicture. (Creo que es el evento que se dispara cuando se termina de dibujar una vista).
Entonces el código se ve algo así como
webView.setPictureListener( new WebView.PictureListener() {
public void onNewPicture(WebView view, Picture picture) {
webView.pageDown(true);
}
}
Usar pageDown tiene el desafortunado problema de desplazar visiblemente la página; Tengo problemas para encontrar otra forma de saltar al final de webView, encontré esta pregunta mientras buscaba una solución. (No he intentado llegar dentro de WebView y el uso de Javascript aún, sin embargo).