Android 更新ViewPager中的屏幕外片段

Android 更新ViewPager中的屏幕外片段,android,android-fragments,android-viewpager,android-tabstrip,Android,Android Fragments,Android Viewpager,Android Tabstrip,我有一个应用程序,它有三个片段:记录、图表和图表。这些片段存储在单个活动的ViewPager中,用户可以在它们之间滑动。记录片段有一个表,用户可以在其中输入数据。当用户输入数据时,其他两个片段需要更新,因为它们引用了此数据。最初,我希望片段在滑动时进行更新,但由于它们是可滑动的,所以我不能使用onPause()和onResume(),因为onPause()(因此onResume())只有在2+个屏幕之外才被调用。因此,我决定让记录片段向活动发送一个回调,告诉其他片段在更新记录片段时进行自我更新。

我有一个应用程序,它有三个片段:记录、图表和图表。这些片段存储在单个活动的ViewPager中,用户可以在它们之间滑动。记录片段有一个表,用户可以在其中输入数据。当用户输入数据时,其他两个片段需要更新,因为它们引用了此数据。最初,我希望片段在滑动时进行更新,但由于它们是可滑动的,所以我不能使用onPause()和onResume(),因为onPause()(因此onResume())只有在2+个屏幕之外才被调用。因此,我决定让记录片段向活动发送一个回调,告诉其他片段在更新记录片段时进行自我更新。我将所有片段都保存在内存中,在应用程序进入后台之前,这一切都很正常。当应用程序从后台出来时,如果用户在表中输入数据,应用程序就会崩溃,因为其他片段中的所有变量都为null。为什么会这样?我没有在应用程序中的任何位置使用saveinstancestate。我应该这样做吗?

按照下面的例子:


您应该将支持每个UI组件的所有数据保存在片段的onSaveInstance()包中。然后在onActivityCreated()回调中,还原数据

碎片呢?我甚至可以将整个片段保存到一个包中吗?碎片中的数据正在被抹去。所有内容,包括片段引用的视图,都为空。请参见编辑。sry,已经有一段时间没有使用碎片(或任何Android应用程序开发人员)。看起来liek在活动中也需要做一些工作。都在那个例子里。快速谷歌搜索: