【发布时间】:2012-08-13 15:37:18
【问题描述】:
我知道这听起来像是 FragmentStatePagerAdapter IllegalStateException: <MyFragment> is not currently in the FragmentManager 的复制品 但他的解决方案与我的情况无关。
我很少遇到以下崩溃:
java.lang.RuntimeException:无法暂停活动 {MyActivity}:
...
原因:java.lang.IllegalStateException: Fragment MyFragment {40648258 id=0x7f070051} 目前不在 FragmentManager 中 android.support.v4.app.FragmentManagerImpl.putFragment(MT:516) 在 android.support.v4.app.FragmentStatePagerAdapter.saveState(MT:185) 在 android.support.v4.view.ViewPager.onSaveInstanceState(MT:881)
...
在 android.view.View.saveHierarchyState(View.java:6238) 在 com.android.internal.policy.impl.PhoneWindow.saveHierarchyState(PhoneWindow.java:1522) 在 android.app.Activity.onSaveInstanceState(Activity.java:1138) 在 android.support.v4.app.FragmentActivity.onSaveInstanceState(MT:480) 在 MyActivity.onSaveInstanceState(MT:336)
这似乎是我无法从FragmentStatePagerAdapter 理解的奇怪代码:
for (int i=0; i<mFragments.size(); i++) {
Fragment f = mFragments.get(i);
if (f != null) {
if (state == null) {
state = new Bundle();
}
String key = "f" + i;
mFragmentManager.putFragment(state, key, f);
}
}
看起来适配器从mFragments 获取了我的Fragment,但无法将其状态添加到FragmentManager。
我找不到任何方法在我的测试设备上重新创建它,只从一些用户那里收到。
我正在使用支持包 v4。
有什么帮助吗? 谢谢。
【问题讨论】:
标签: java android android-fragments android-viewpager illegalstateexception