2014-09-19 66 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

相關問題