【问题标题】:WebView doesn't show content after onPauseonPause 后 WebView 不显示内容
【发布时间】:2015-07-14 09:46:25
【问题描述】:

我在RecyclerView 中有一个WebView

我将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 一起使用

【问题讨论】:

    标签: android android-layout webview


    【解决方案1】:

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

    【讨论】:

    猜你喜欢
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多