12

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

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

webView.scrollTo(0, 0);

但不工作。它怎么能工作?请帮助任何人?

4

3 回答 3

14

您可以使用 webviewclient 并将 onPageFinished 设置为滚动到顶部: 如何侦听 WebView 完成加载 URL?

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

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

于 2013-09-19T16:00:50.577 回答
8

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

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

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

            }
        }, 500);
于 2012-10-05T07:45:30.747 回答
4

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

于 2012-10-05T06:26:55.570 回答