我正在开发一个使用webview来显示用户可以使用简单按钮导航的页面的应用程序。我遇到一个问题,按下按钮并加载另一个页面后,webview不会向上滚动到页面顶部,但会记住最后一页的滚动位置。
我认为解决方案应该是这个代码,但它似乎不起作用,我想要做的就是在页面加载后向上滚动:
void openWebPage(String pageName) {
try {
webView.loadUrl("file:///android_asset/" + pageName);
if (!webView.getSettings().getJavaScriptEnabled()) {
webView.getSettings().setJavaScriptEnabled(true); //Enable js
webView.addJavascriptInterface(new WebInterface(this), "Android");
}
//scroll up, must be delayed after page load
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
view.scrollTo(0, 0);
//view.computeScroll();
}
});
} catch (Exception e) {
toast("Errore nell'apertura della pagina.");
e.printStackTrace();
}
}
我错过了什么吗?感谢任何人的帮助。
答案 0 :(得分:4)
问题在于,在我的布局中,我将webview包装在滚动条中,由于某种原因这样做搞砸了调用,webview的内容长度从未改变。
答案 1 :(得分:0)
使用此onPageFinished方法
''' scrollView.scrollTo(0,0); '''