在onPause之后,WebView不显示内容

时间:2015-07-14 09:46:26

标签: android android-layout webview

我在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显示已加载的内容,或模拟滚动页面时发生的任何事情?

  • 我使用Lollipop和Android System WebView 43.0.2357.121

1 个答案:

答案 0 :(得分:1)

如果您尝试使用onPagefinshed()方法调试或放置一些日志,您将会发现Webview的onPauuse()将在站点之前调用2-3次 在URL重定向的情况下完全加载。