पर इस क्रिया को निष्पादित नहीं कर सकता है मेरे पास 3 एपमेंट्स के साथ मेरे ऐप में एक गतिविधि है। जब पहली बार बटन दबाया जाता है, तो गतिविधि में एक विधि कहा जाता है जो कुछ अप्रासंगिक सामान करता है और फिर finish()
पर कॉल करता है।एंड्रॉइड - IllegalStateException के कारण खत्म होने के बाद गतिविधि को नष्ट करने में असमर्थ: SaveInstanceState
यह 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") देखा, लेकिन उनमें से कोई भी मेरे वर्तमान समस्या के लिए लागू किया गया।
के लिए किया था कि आप वास्तव में savedinstancestate से पहले सुनिश्चित करें कि अपनी चल रहा है बनाया है? – Broak