【发布时间】:2019-10-29 08:51:06
【问题描述】:
我正在开发一个应用程序,用户可以在其中打开任意数量的片段,但所有片段都是唯一类的对象。片段类的视图中只有一个 WebView。每次用户单击 webiew 中的链接时,链接都会加载到新片段中。这就是新片段替换当前片段的方式:
transaction.replace(R.id.fragment_holder, PageFragment.newInstance(url)).addToBackStack(null).commit();
当用户点击返回按钮时:
getActivity().getSupportFragmentManager().popBackStack();
一切正常,但是当用户想要返回时,我遇到了一些麻烦。关键是,当从 backstack 弹出前一个片段时,它的 webview 再次开始加载它的 url,这是不可取的。我希望之前的片段恢复一切:webview 状态,包括加载的数据、滚动位置等。如何实现这种行为?
【问题讨论】:
标签: android android-fragments webview fragment-backstack