我正在开发一个应用程序中的webView,其中当按下按钮时webview加载发生变化的内容(下一个和之前的两个按钮,它们只是更改webview中的内容)。
如果我向下滚动到webview中的某个点并按下一个或上一个按钮,它将从同一点开始。我只是希望每次将新数据加载到webview时它都会显示从顶部开始的内容。 我用过:
webView.scrollTo(0, 0);
但是不起作用。它如何运作?请帮助任何人?
答案 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使其正常工作