我有一个小应用程序,它有一个单一的活动,并显示片段的内容。因此,我通过将当前片段替换为下一个片段(并将其放在后台堆栈中)来浏览我的应用程序。
应用程序锁定在肖像中,因此活动永远不会被销毁。
所以我的问题是,如何在导航到片段B之前保存片段A的“实例状态”,并在按下back按钮后恢复实例状态,并且片段A将再次显示在屏幕上。
据我所知,片段中的onSaveInstanceState绑定到activites生命周期,只有在activity被销毁时才会被调用。由于im使用单个活动并使用片段事务,因此该活动永远不会被销毁,因此onSaveInstanceState也永远不会被调用。
因此,我尝试的第二种方法是使用Fragment.getArguments()和Fragment.setArguments()。但是一旦片段被实例化,我就不能更改参数(IllegalStateException)。
那么,在这种情况下(单个活动,使用片段事务)如何处理fragments实例状态,还有其他的想法或提示吗?
发布于 2013-07-23 14:56:20
在onDestroyView()中使用包保存实例,然后在onCreateView()中检索它们。
https://stackoverflow.com/questions/17798622
复制相似问题