我在WebView
RecyclerView
我在页面加载完成后将WebViewClient
配置为运行onPuase()
。
问题是某些网站(如IMDB)没有被查看,除非我向下/向上滚动页面,或者页面存储在缓存中。
不工作代码:
getWebview().setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
view.onPause();
}
});
如果我延迟onPause,它可以工作(不同设备之间的延迟时间不同)
getWebview().setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(final WebView view, String url) {
super.onPageFinished(view, url);
getWebview().postDelayed(new Runnable() {
@Override
public void run() {
getWebview().onPause();
}
}, 5000);
}
});
我还尝试了getWebview().postInvalidateDelayed()
和getWebview().requestLayout()
。
是否有强制webview显示已加载的内容,或模拟滚动页面时发生的任何事情?
答案 0 :(得分:1)
如果您尝试使用onPagefinshed()
方法调试或放置一些日志,您将会发现Webview的onPauuse()将在站点之前调用2-3次
在URL重定向的情况下完全加载。