我正在开发一个应用程序,用户可以在其中打开任意多的片段,但所有片段都是唯一类的对象。片段类在其视图中只有一个WebView。每次用户点击网页中的链接时,链接都会加载到一个新的片段中。新片段替换为当前片段的方式如下:
transaction.replace(R.id.fragment_holder, PageFragment.newInstance(url)).addToBackStack(null).commit();当用户点击后退按钮时:
getActivity().getSupportFragmentManager().popBackStack();一切正常,但是当用户想要返回时,我遇到了一些麻烦。重点是,当前一个片段从后台栈中弹出时,它的webview再次开始加载它的url,这是不可取的。我希望前面的片段恢复所有内容: webview状态,包括加载的数据,滚动位置等如何实现这些行为?
发布于 2019-10-29 16:58:32
不使用替换,尝试添加并在代码中使用.add fragments.That替换.replace,您可以在应用程序中保存它的状态。
发布于 2019-10-29 17:28:54
您可以使用web视图返回。在你的背压方法中试试这个
if (webView.canGoBack()) {
webView.goBack();
}发布于 2019-10-29 18:02:06
它有55个片段,3 GB的ram.so没有问题,我相信它是实用的。
https://stackoverflow.com/questions/58603999
复制相似问题