내 응용 프로그램에서 3 조각으로 활동하고 있습니다. 버튼을 첫 번째 버튼에 푸시하면 액티비티에서 관련없는 물건을 호출하는 메서드가 호출되고 finish()
이 호출됩니다.안드로이드 - 종료 후 활동을 파괴 할 수 없습니다. IllegalStateException : onSaveInstanceState 이후에이 작업을 수행 할 수 없습니다.
이렇게하면 조각에 onPause()
이 나타나 더 관련없는 물건을 처리 한 다음 super.onPause()
을 호출합니다.
이 애플리케이션은 다음이 (논리적 뷰 스택을 다음)에 제공된 기존 활동을로드, 갑자기 onDestroyView()
이 조각에 호출되는 다음과 같은 예외와 충돌 :
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to destroy activity {be.niteowl.niteowl.debug/be.niteowl.niteowl.views.activities.VenueActivity}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:2793)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:2811)
at android.app.ActivityThread.access$2100(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:972)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3835)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1327)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1338)
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574)
at be.niteowl.niteowl.views.activities.TrackFragment.onDestroyView(TrackFragment.java:161)
at android.support.v4.app.Fragment.performDestroyView(Fragment.java:1665)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:980)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1070)
at android.support.v4.app.FragmentManagerImpl.dispatchDestroy(FragmentManager.java:1898)
at android.support.v4.app.FragmentActivity.onDestroy(FragmentActivity.java:324)
at com.actionbarsherlock.app.SherlockFragmentActivity.onDestroy(SherlockFragmentActivity.java:88)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:2780)
... 11 more
오류가 때 발생하는 것 같습니다 메인 조각에서 MapFragment
을 제거하려고합니다. 나는 파편 안에 단편을 가지고 있지 않아야한다는 것을 알고 있지만, 과거에는 코드가 작동 했었고 어쨌든 그 주위에 방법이 없습니다.
@Override
public void onDestroyView() {
SupportMapFragment f = (SupportMapFragment) activity.getSupportFragmentManager().findFragmentById(R.id.fragment_map);
if (f != null) {
activity.getSupportFragmentManager().beginTransaction().remove(f).commit();
}
super.onDestroyView();
}
나는 아직 (특히
getting exception "IllegalStateException: Can not perform this action after onSaveInstanceState") 여기에 수정을 위해 주위를 둘러 보았다,하지만 그들 중 누구도 내 현재의 문제에 적용 할 수 없었다.
저장된 인스턴스가 실행되기 전에 실제로 실행되도록 설정 했습니까? – Broak