0

我已经阅读了很多关于在 FragmentActivity 中恢复数据的内容,但在我的情况下没有任何效果。我尝试了很多方法来做到这一点,但它从来没有奏效。

我有一个包含 6 或 7 个片段的 ViewPager 的 FragmentActivity。这些片段中的每一个都包含一个 ListView。这些 ListView 中的数据是从 web 检索到的。

我可以在片段中选择 ListView 的一个项目以打开一个显示所选项目详细信息的新活动。

当我回到我的 FragmentActivity 时,我不想从网络上检索新的时间数据,而是从捆绑包或任何允许我立即显示数据的东西中获取它。

我尝试了 getLast(Custom)NonconfigurationInstance() 但仅在更改实际配置(例如屏幕方向)时才调用它。我还在 FragmentActivity 中尝试了 onSavedInstanceState,在 Fragment 中,没有调用超级方法......我总是在我的 onCreate/onCreateView 中得到一个空的 savedInstanceState 包。

我没有给你的代码,因为我回到零。

请问有什么想法吗?

4

1 回答 1

0

好的,我找到了解决方案,但我讨厌它!反正...

当我在我的片段列表中选择一个项目时,我将我想要恢复的数据放入 ActivityA 中,并使用实现 Serializable 的自定义类,然后关闭 ActivityA。ActivityB 正在启动。当我关闭 ActivityB 时,我将要恢复的数据放在 ActivityA 中。我检查我的数据是否不为空(如果我不是来自 ActivityB,它可以为空),如果不是,我可以在没有网络连接的情况下填充我的片段和列表。

这是解决我的问题的一种非常糟糕的方法,但我真的不知道为什么“savedInstanceState”方法在这种情况下不起作用。

于 2013-04-20T10:56:38.603 回答