2016-08-10 7 views
0

이라는 onsaveinstance 후에이 작업을 수행 할 수 없습니다. Google Play에서 아래의 크래시 덤프가 있습니다.조각 활동 예외 :

Fatal Exception: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 
    at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1527) 
    at android.support.v4.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:599) 
    at android.support.v4.app.FragmentActivity.onBackPressed(FragmentActivity.java:178) 
    at com.myapp.activities.ActivityManageContacts.onBackPressed(ActivityManageContacts.java:265) 
    at android.app.Activity.onKeyUp(Activity.java:2465) 
    at android.view.KeyEvent.dispatch(KeyEvent.java:2646) 
    at android.app.Activity.dispatchKeyEvent(Activity.java:2716) 
    at android.support.v7.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:533) 
    at android.support.v7.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:53) 
    at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.dispatchKeyEvent(AppCompatDelegateImplBase.java:254) 
    at android.support.v7.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:53) 
    at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2276) 
    at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:4038) 
    at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4000) 
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3562) 
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3615) 
    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3581) 
    at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3698) 
    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3589) 
    at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3755) 
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3562) 
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3615) 
    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3581) 
    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3589) 
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3562) 
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3615) 
    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3581) 
    at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3731) 
    at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:3892) 
    at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2208) 
    at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1849) 
    at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1840) 
    at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2185) 
    at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141) 
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java) 
    at android.os.MessageQueue.next(MessageQueue.java:143) 
    at android.os.Looper.loop(Looper.java:122) 
    at android.app.ActivityThread.main(ActivityThread.java:5254) 
    at java.lang.reflect.Method.invoke(Method.java) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697) 

내 활동이 FragmentActivity에서 확장되었습니다. 난 그냥 내 활동에 onBackPressed 메서드를 재정의합니다. 이 onBackPressed 메소드에서 super 메소드 (super.onBackPressed)가 호출 중입니다. 이 슈퍼 메서드에서는 조각 상태에 액세스합니다. 이 충돌을 피하는 방법.?

답변

1

CommitAllowingStateLoss를 (사용보다

+0

그것은 내 조각의 UI 상태에 영향을 미칠 것입니다) (대신 커밋)이

@Override protected void onSaveInstanceState(Bundle outState) { } 

처럼 조각으로 onSavedInstanceState를 무시하려고합니다. – dev1993