切换活动并返回后,WebView内容会部分消失

时间:2017-03-15 17:46:54

标签: android html webview

我的WebView加载了包含少量图像,文本和CSS的HTML字符串。我点击了图片,它带我到其他活动(比如ImageActivity)和webview中的图片列表。单击后退按钮后,某些文本和图像将从webview中消失。 See Image

我正在使用Gson解析HTML。

这是我的网页视图代码

    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setDomStorageEnabled(true);
    webView.getSettings().setBuiltInZoomControls(false);
    webView.addJavascriptInterface(new WebAppInterface(this,images), "Android");
    webView.setWebViewClient(new WebViewClient(){
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if(url.contains(Config.SITE_URL)){
                Log.e("WebView","Site URL Clicked");
                return true;
            }else{
                Log.e("WebView","External URL Clicked");
                return true;
            }
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            progressBar.setVisibility(View.GONE);
            webView.setVisibility(View.VISIBLE);
            linearLayout.setVisibility(View.VISIBLE);
        }

        @Override
        public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) {
            handler.proceed();
        }
    });
    .
    .
    .
    html = "<link rel=\"stylesheet\" href=\"post.css\" type=\"text/css\"/>"+content+"<script type=\"text/javascript\">function imgclicked(toast) {Android.showToast(toast);}</script>";
    webView.loadDataWithBaseURL("file:///android_asset/", html, "text/html", "UTF-8", null);

logcat

中没有任何内容

1 个答案:

答案 0 :(得分:1)

自己解决了。这是一个愚蠢的错误。 添加适当的onPauseonResume对我有用。

@Override
public void onPause() {
    super.onPause();
    webView.onPause();
}

@Override
protected void onResume() {
    super.onResume();
    webView.onResume();
}