2012-01-05 11 views
12

के बाद इस क्रिया को निष्पादित नहीं कर सकता है, मैं अभी भी स्पष्ट रूप से मेरी गतिविधियों में चल रही अन्य चीज़ों के साथ टुकड़े को संभालने पर स्पष्ट नहीं हूं। निम्नलिखित स्टैक ट्रेस है:एंड्रॉइड: SaveInstanceState

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2, result=-1, data=Intent { (has extras) }} to activity {com.ghcssoftware.gedstar/com.ghcssoftware.gedstar.GedStar}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 
at android.app.ActivityThread.deliverResults(ActivityThread.java:2747) 
at android.app.ActivityThread.handleSendResult(ActivityThread.java:2790) 
at android.app.ActivityThread.access$2000(ActivityThread.java:122) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1035) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:132) 
at android.app.ActivityThread.main(ActivityThread.java:4028) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:491) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602) 
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:1299) 
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1310) 
**at android.support.v4.app.FragmentManagerImpl.popBackStack(FragmentManager.java:471) 
at com.ghcssoftware.gedstar.PersonTab$PersonTabFrag.popStack(PersonTab.java:157)** 
at com.ghcssoftware.gedstar.PersonTab$PersonTabFrag.fillData(PersonTab.java:165) 
at com.ghcssoftware.gedstar.ViewTab.fillData(ViewTab.java:96) 
at com.ghcssoftware.gedstar.GedStar.fillData(GedStar.java:589) 
at com.ghcssoftware.gedstar.GedStar.onActivityResult(GedStar.java:514) 
at android.app.Activity.dispatchActivityResult(Activity.java:4541) 
at android.app.ActivityThread.deliverResults(ActivityThread.java:2743) 

तो यह लगता है कि यह मेरे इस समारोह के भीतर popBackStack को जहां मैं अपने दृश्य शीशे में से एक में किसी भी खड़ी टुकड़े की सफाई कर रहा हूँ कॉल है:

// Pop fragments from second pane 
    private void popStack() { 
     if (mDualPane && mBottomId >= 0) { 
      mViewTab.getTabHelper().tabGetFragManager().popBackStack(mBottomId, 
        FragmentManager.POP_BACK_STACK_INCLUSIVE); 
      mBottomId = -1; 
     } 
    } 

मुख्य रूप से मुझे यकीन नहीं है कि इनमें से कोई भी "SaveInstanceState के बाद" कहला रहा है, या यदि वास्तव में यह हो रहा है। कोई भी संभावित स्पष्टीकरण? क्या पॉपबैकस्टैकइमीडिएट एक फर्क पड़ता है?

इसके लायक होने के लिए, मैं अपने परीक्षण में परिस्थितियों को फिर से बनाने में सक्षम नहीं हूं, इसलिए यह केवल रिपोर्ट में दिखा रहा है।

उत्तर

15

समस्या, जो ट्रेस को देखने से स्पष्ट है, यह है कि मैं अपने ऑनएक्टिविटी रीसेट विधि में कोड से पॉपस्टैक को कॉल कर रहा था, जिसे रेज़्यूम पर पहले कहा जाता है। मैंने कॉल को रेज़्यूम पर ले जाया और इसे ठीक कर दिया।

+0

मुझे एक ही समस्या है, और मेरा कोड 'RRumeume() ' – noloman

+0

में है यह सही समाधान नहीं है। –

+0

@metalurgus यह 3 साल पुराना है। यदि आपके पास एंड्रॉइड के बाद के संस्करण में समान या समान समस्या है, तो आपको एक नया प्रश्न पोस्ट करने की आवश्यकता हो सकती है। इस प्रश्न से लिंक करें और बताएं कि आपका प्रश्न डुप्लिकेट के रूप में बंद होने से बचने के लिए आपकी स्थिति अलग कैसे है। –

संबंधित मुद्दे