按下后退按钮后,在FragmentActivity中恢复数据

时间:2013-04-19 18:26:28

标签: android-fragments bundle android-fragmentactivity data-retrieval

我已经阅读了很多关于在FragmentActivity中恢复数据的内容,但在我的情况下没有任何作用。我尝试了很多方法,但它从未奏效。

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

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

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

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

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

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