2
你好我得到以下例外,当我从我的活动的onNewIntent方法进行片段popBackStack。我能不能执行片段popBackStack清晰我的孩子片段
下面是我的应用程序崩溃日志。
10-11 16:08:49.750: E/AndroidRuntime(13831): FATAL EXCEPTION: main
10-11 16:08:49.750: E/AndroidRuntime(13831): java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1327)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1338)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.support.v4.app.FragmentManagerImpl.popBackStack(FragmentManager.java:466)
10-11 16:08:49.750: E/AndroidRuntime(13831): at com.xxx.view.DataSend.sendToBackFragment(DataSend.java:850)
10-11 16:08:49.750: E/AndroidRuntime(13831): at com.xxx.view.MyOneFragmentHolder.clearFragmentBackStack(MyOneFragmentHolder.java:117)
10-11 16:08:49.750: E/AndroidRuntime(13831): at com.xxx.view.MyOneFragmentHolder.clearBackStack(MyOneFragmentHolder.java:131)
10-11 16:08:49.750: E/AndroidRuntime(13831): at com.xxx.view.CustomTabsActivity.onNewIntent(CustomTabsActivity.java:1537)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.Instrumentation.callActivityOnNewIntent(Instrumentation.java:1119)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.ActivityThread.deliverNewIntents(ActivityThread.java:1726)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.ActivityThread.performNewIntents(ActivityThread.java:1738)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.ActivityThread.handleNewIntent(ActivityThread.java:1746)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.ActivityThread.access$2300(ActivityThread.java:117)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:982)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.os.Handler.dispatchMessage(Handler.java:99)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.os.Looper.loop(Looper.java:130)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.ActivityThread.main(ActivityThread.java:3687)
10-11 16:08:49.750: E/AndroidRuntime(13831): at java.lang.reflect.Method.invokeNative(Native Method)
10-11 16:08:49.750: E/AndroidRuntime(13831): at java.lang.reflect.Method.invoke(Method.java:507)
10-11 16:08:49.750: E/AndroidRuntime(13831): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
10-11 16:08:49.750: E/AndroidRuntime(13831): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
10-11 16:08:49.750: E/AndroidRuntime(13831): at dalvik.system.NativeStart.main(Native Method)
现在这里是我的FragmentActivity中的片段层次结构。
- 我FragmentActivity包含一个ViewPager
- 现在我ViewPager包含五个片段。
- 在这五个片段的第二个片段中,第三个片段通过下面的逻辑包含了嵌套片段。
- 我有那么的FrameLayout在执行我的真实片段,当用户做单击该片段的列表项将再次在这个FrameLayout里加载片段负荷简单片段。
所以我的活动onNewIntent执行popBackStack我ViewPager第二个片段,其工作作为容器。
我也尝试commitAllowingStateLoss这一点,但它创造commit方法所发生的死机一样。 – Herry