IllegalStateException:在使用ViewPager的onSaveInstanceState之后無法執(zhí)行此操作我在市場上從我的應(yīng)用程序中得到用戶報告,提供了以下例外:java.lang.IllegalStateException: Can not perform this action after onSaveInstanceStateat android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1109)at android.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:399)at android.app.Activity.onBackPressed(Activity.java:2066)at android.app.Activity.onKeyUp(Activity.java:2044)at android.view.KeyEvent.dispatch(KeyEvent.java:2529)at android.app.Activity.dispatchKeyEvent(Activity.java:2274)at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1803)at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1112)at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1112)at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1112)at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1855)at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1277)at android.app.Activity.dispatchKeyEvent(Activity.java:2269)at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1803)at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1112)at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1112)at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1112)at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1112)at android.widget.TabHost.dispatchKeyEvent(TabHost.java:297)at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1112)at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1112)at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1112)顯然,這與FragmentManager有關(guān),我不使用它。堆棧跟蹤沒有顯示任何我自己的類,所以我不知道這個異常發(fā)生在哪里,也不知道如何防止它。記錄在案:我有一個表主機,在每個選項卡中都有一個ActivityGroup在活動之間切換。
3 回答

慕標琳琳
TA貢獻1830條經(jīng)驗 獲得超9個贊
@Overrideprotected void onSaveInstanceState(Bundle outState) { //No call for super(). Bug on API Level > 11.}
super()
saveInstanceState
outState
Bundle
@Overrideprotected void onSaveInstanceState(Bundle outState) { outState.putString("WORKAROUND_FOR_BUG_19917_KEY", "WORKAROUND_FOR_BUG_19917_VALUE"); super.onSaveInstanceState(outState);}
transaction.commitAllowingStateLoss();
FragmentTransaction
Exception
.
- 3 回答
- 0 關(guān)注
- 407 瀏覽
添加回答
舉報
0/150
提交
取消