2014-09-19 8 views
0

Sherlock Fragment를 사용하고 있으며 응용 프로그램을 다시 열 때 최소화 대화 상자가 열리면 충돌이 발생합니다. 사전에Stack trace 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

mBookingDialogFragment.dismissAllowingStateLoss();로 변경하고 우리가 325 라인 표시하고 어떻게 호출하고이를 기각한다. – zozelfelfo

+0

@zozelfelfo 예약 대화 상자 코드를 업데이트했습니다.이 문제를 해결하려면 – Siva

답변

15

귀하의 의견과 답변에 감사드립니다. 나는 이것을 고쳤다.

우리가`BookingDialogFragment` 코드를해야 할 수도 있습니다 mBookingDialogFragment.dismiss();

+0

감사합니다. –

0

시퀀스를 되돌리기이다. 먼저 대화 상자를 표시 한 다음 단편을 닫습니다.

+0

같은 충돌이 발생하지 않습니다. – Siva

관련 문제