当顶部的另一个片段关闭时,如何防止在片段中重新加载webView

时间:2014-06-05 20:09:07

标签: android android-fragments webview

我正在使用网页浏览制作应用。 我只有一个活动包含 一个FrameLayout来动态添加片段。

每个片段都包含一个webView。

一切正常,但是当我删除片段时 从堆栈,片段的webview中 堆栈顶部重新加载所以内部的内容 再次调用html的脚本。

restoreState()方法无效。

这是片段的onCreateView:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    view = inflater.inflate(R.layout.wv_container, container, false);
    webView = (WebView)view.findViewById(R.id.webviewcontainer);
    if(webViewBundle == null)
        webView.loadUrl("file:///android_asset/www/main.html");
    else
        webView.restoreState(webViewBundle);
    return view;
}

这是onPause()方法:

@Override
public void onPause() {
    super.onPause();
    webViewBundle = new Bundle();
    webViewContent.saveState(webViewBundle);
}

如何阻止我的案例重新加载页面? 我不想用标志或类似的东西破解html。

提前致谢!

1 个答案:

答案 0 :(得分:1)

saveState中的onPause方法会返回WebBackForwardList,其中包含WebHistory个项目列表。这些基本上是最近访问过的页面中的标题,网址和标题。它不会缓存已下载URL的内容。

请尝试查看方法saveWebArchive