我正在开发应用程序中的 webView,其中 webview 加载的内容在按下按钮时会发生变化(两个按钮 next 和 previous ,它们只是更改 webview 中的内容)。
如果我向下滚动到 webview 中的某个点并按下一个或上一个按钮,它会从同一点开始。我只希望每次将新数据加载到 webview 时,它都会从顶部显示内容。我用过:
webView.scrollTo(0, 0);
但不工作。它怎么能工作?请帮助任何人?
您可以使用 webviewclient 并将 onPageFinished 设置为滚动到顶部: 如何侦听 WebView 完成加载 URL?
mWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
view.scrollTo(0,0);
}
});
这样,滚动时将加载内容。它可能会感觉有点迟钝,但它应该每次都有效。
也许延迟它会起作用?因为内容通常不会立即加载
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
webView.scrollTo(0,0);
}
}, 500);
使用线程并延迟 scrollTo 使其工作