【发布时间】:2016-04-29 22:44:59
【问题描述】:
- 我有一个 MainActivity,它包含一个由 FragmentStatePageAdapter 支持的 ViewPager,它有 2 个片段,Fragment1 和 Fragment2。
- Fragment1 包含一个 recyclerview 卡片浏览量。
- OnItemClick on recyclerview 转到一个新的 详细信息活动。
当我按下 DetailsActivity 上的返回按钮时,MainActivity 正在重新创建所有内容(ViewPager),并创建了 Fragment 1 和 Fragment 2 的新实例。这是正确的方法还是有办法保存 viewpager 和片段实例?
【问题讨论】:
-
默认情况下不应重新创建所有内容。当您打开一个新活动时,当前活动会转到 onPause(),然后当您从详细信息活动返回时,会调用 onResume()。它仍然是同一个活动实例。如果 UI 被重新创建,那么您可能在 MainActivity 的 onResume 或您的片段 (1, 2) 中执行此操作
-
你能发布你的 MainActivity 代码吗?
-
您可以: 1. 在片段的
onCreateView中添加检查savedInstanceState是否为空。如果没有 - 阻止你想要的任何东西。 2. 制作你的片段static3. 使用单音
标签: android android-fragments android-viewpager restore savestate