gpt4 book ai didi

android - webview loaddata 滚动设置在单击之前不会更新

转载 作者:太空宇宙 更新时间:2023-11-03 13:06:20 24 4
gpt4 key购买 nike

我使用 loadData() 和 reload() 更新 webView 中的 html。我获得了要显示的新数据,但页面滚动尚未更新。我想将页面的 View 保留在底部。我可以等很长时间,它仍然没有更新。单击 webView 后,滚动条会调整,我可以拖动到页面底部并查看新文本。

我尝试过的事情:- 在 onPageFinished() 中进行多项设置和调用。没有一个起作用,因为 getContentHeight() 还没有改变。我也尝试过 scrollTo(100 + getContentHeight) 但这不起作用。-pageDown(真)

  • 在 reload() 之后调用 requestLayout()

  • browser.requestFocusFromTouch() - 仍然不好,认为我可以模拟我的点击。

  • 添加几个 br 标签。这有点奏效,但是 br 的数量必须等于新文本的行数。由于新行的数量不能根据方向和屏幕变量准确确定,因此这不是一个好的解决方法。有任何想法吗? TIA

最佳答案

如果你想让 webview 在加载完成后滚动到底部,我发现我必须在 onNewPicture 中使用 pageDown(true)。 (我相信这是在 View 完成绘制时触发的事件。)

所以代码看起来像

   webView.setPictureListener( new WebView.PictureListener() {

public void onNewPicture(WebView view, Picture picture) {
webView.pageDown(true);
}
}

使用 pageDown 有明显滚动页面的不幸问题;我在寻找任何其他跳转到 webView 底部的方法时遇到问题,在寻找解决方案时发现了这个问题! (不过,我还没有尝试进入 WebView 并使用 javascript。)

关于android - webview loaddata 滚动设置在单击之前不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3953791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com