url加载后将webview滚动到顶部

时间:2015-12-27 11:39:53

标签: android scroll webview

我正在开发一个使用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();
    }
}

我错过了什么吗?感谢任何人的帮助。

2 个答案:

答案 0 :(得分:4)

问题在于,在我的布局中,我将webview包装在滚动条中,由于某种原因这样做搞砸了调用,webview的内容长度从未改变。

答案 1 :(得分:0)

使用此onPageFinished方法

''' scrollView.scrollTo(0,0); '''