我见过另外一个,所以这个问题没有解决。
我将loadData()用于应用程序生成的HTML。
我注意到,当我在新文本后添加几行空白时,页面会滚动,文本需要一些时间才能神奇地显示出来(没有滚动,只是显示为淡入)。
watching.getContentHeight()不会在onPageFinshed()事件中更新,但会在页面上随后添加文本时更新。
我创建了一个计时器事件来观看GETCraceTeTHEE。即使在我发现getcontentheight已经更改并发出browser.pagedown(true)之后,页面仍然滚动到底部。
当第一次进入活动时,工作似乎很好。我的问题只发生在我在newinnerHTML中附加了几行。
此外,所涉及的视图有一个页眉和页脚,浏览器位于中间。webview不在页脚后面。
这是虫子,还是我遗漏了什么?
蒂亚
吉姆
此代码位于活动的oncreate中。
final WebView browser = (WebView) findViewById(R.id.webview);
browser.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(browser, url);
// browser.computeScroll(); //didn't help
Log.d(TAG,"page getContentHeight: " + browser.getContentHeight());
Log.d(TAG,"page finished");
browser.pageDown(true);
}
});
此方法在活动的oncreate之后
私有void updateMessageDisplay(){
//loadData fires onPageFinished but without the new data
browser.loadData("<html><body>" + newInnerHTML + "</body></html>", "text/html", "utf-8");
//reload() again fires onPageFinished but this time with new data
browser.reload();
}