我有android.support.v4.app.FragmentStatePagerAdapter
哪些托管大约 1-10 个片段,这些片段根据情况而有所不同。每个片段GridView
在其视图中都有一个定义。
如果用户将应用程序置于后台,启动另一个应用程序,然后返回我的应用程序。在某些设备上,片段会被简单地删除,应用程序会导致空白屏幕。我尝试更改为FragmentPagerAdapter
但导致崩溃情况。它抛出java.lang.IllegalStateException: Activity has been destroyed error.
我无法理解系统周围的混乱,因为片段包含在活动中,只有创建的活动才能委托通知片段的调用。
更新1:
从进一步调试来看,应用程序似乎抛出了 IllegalStateException
在 FragmentPagerAdapter 中时:
java.lang.IllegalStateException:活动已在 android.support.v4.app.BackStackRecord.commitInternal(SourceFile:595) 在 android.support.v4 的 android.support.v4.app.FragmentManagerImpl.enqueueAction(SourceFile:1358) 被破坏.app.BackStackRecord.commitAllowingStateLoss(SourceFile:578) 在 android.support.v4.app.FragmentPagerAdapter.finishUpdate(SourceFile:139) 在 android.support.v4.view.ViewPager.setAdapter(SourceFile:415)
在 FragmentStatePagerAdapter 中时
java.lang.IllegalStateException: 键 f1 的片段不再存在: android.support.v4.app.FragmentManagerImpl.getFragment(SourceFile:564) 的索引 1 在 android.support.v4.app.FragmentStatePagerAdapter.getItem(SourceFile:211)在 android.support.v4.view.ViewPager.setAdapter(SourceFile:428) 的 restoreState
任何帮助深表感谢。