2014-09-19 64 views
0

我正在使用Sherlock Fragment,如果对话框打开时发生崩溃,应用程序将再次打开应用程序。堆栈跟踪java.lang.IllegalStateException:在onSaveInstanceState后无法执行此操作

下面是我的例外:

Stack trace java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 
android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1360) 
android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1378) 
android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595) 
android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574) 
android.support.v4.app.DialogFragment.dismissInternal(DialogFragment.java:200) 
android.support.v4.app.DialogFragment.dismiss(DialogFragment.java:166) 
com.alts.asterride.BookingDialogFragment$4$1.run(BookingDialogFragment.java:325) 
android.os.Handler.handleCallback(Handler.java:730) 
android.os.Handler.dispatchMessage(Handler.java:92) 
android.os.Looper.loop(Looper.java:137) 
android.app.ActivityThread.main(ActivityThread.java:5493) 
java.lang.reflect.Method.invokeNative(Native Method) 
java.lang.reflect.Method.invoke(Method.java:525) 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209) 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025) 
dalvik.system.NativeStart.main(Native Method) 

在此先感谢。

我正在使用ft.commitAllowingStateLoss();来分享片段。

这里是我预订的对话框代码

mBookingDialogFragment.dismiss(); 
CabBookingFlow cabBookingFlow = new CabBookingFlow(); 
cabBookingFlow.setCancelable(false); 
cabBookingFlow.show(); 
+0

我们可能需要'BookingDialogFragment'代码,并显示美线325,以及如何调用和关闭它。 – zozelfelfo 2014-09-19 06:35:52

+0

@zozelfelfo我已更新预订对话框code.help我来解决这个 – Siva 2014-09-19 06:42:06

回答

15

朋友感谢您的意见和解答。我解决这个问题。

改变mBookingDialogFragment.dismiss();mBookingDialogFragment.dismissAllowingStateLoss();

+0

感谢它为我工作。 – 2016-02-23 07:17:29

0

还原您的序列。首先显示对话框,然后关闭片段。

+0

不工作相同的崩溃 – Siva 2014-09-19 07:02:02

相关问题