1

我有一个包含三个片段的应用程序:Records、Chart 和 PieChart。这些片段存储在单个活动中的 ViewPager 中,用户可以在它们之间滑动。Records 片段有一个表,用户可以在其中输入数据。当用户输入数据时,其他两个片段需要更新,因为它们引用了这些数据。最初,我希望片段在被滑动到时更新,但由于它们是可滑动的,我不能使用 onPause() 和 onResume() 因为 onPause() (因此 onResume())只有在选项卡被调用时才会被调用2+ 屏幕之外。所以我决定让 Records 片段向 Activity 发送一个回调,告诉其他片段在 Records 片段更新时更新自己。我将所有片段保存在内存中,并且在应用程序进入后台之前它工作正常。当应用程序退出后台时,如果用户向表中输入数据,应用程序会崩溃,因为其他片段中的所有变量都为空。为什么会这样?我没有在我的应用程序的任何地方使用 saveinstancestate。我可以做?

4

1 回答 1

0

从这里看例子:

http://developer.android.com/reference/android/app/Fragment.html

您应该将支持每个 UI 组件的所有数据保存在 Fragment 的 onSaveInstance() 的 Bundle 中。然后在 onActivityCreated() 回调中,恢复数据。

于 2013-07-01T03:45:29.583 回答