如何在Android中将WebView滚动到顶部?

时间:2012-10-05 06:10:43

标签: android webview scroll

我正在开发一个应用程序中的webView,其中当按下按钮时webview加载发生变化的内容(下一个和之前的两个按钮,它们只是更改webview中的内容)。

如果我向下滚动到webview中的某个点并按下一个或上一个按钮,它将从同一点开始。我只是希望每次将新数据加载到webview时它都会显示从顶部开始的内容。 我用过:

webView.scrollTo(0, 0);

但是不起作用。它如何运作?请帮助任何人?

3 个答案:

答案 0 :(得分:8)

您可以使用webview客户端并将onPageFinished设置为滚动到顶部: How to listen for a WebView finishing loading a URL?

mWebView.setWebViewClient(new WebViewClient() {
  public void onPageFinished(WebView view, String url) {
    view.scrollTo(0,0);
  }
});

这样,滚动时将加载内容。它可能会感觉有点迟钝,但每次都应该有效。

答案 1 :(得分:6)

也许推迟它会起作用?因为内容不会立即加载

new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                webView.scrollTo(0,0);

            }
        }, 500);

答案 2 :(得分:4)

使用线程并延迟scrollTo使其正常工作