2016-05-09 3 views
5

मेरे पास एक साधारण गतिविधि और बनाए रखा टुकड़ा है, जैसे Alex Lockwood blog post exampleफ्रैगमेंट मैनेजर: moveToState: ग्रिडफ्रैगमेंट के लिए फ्रैगमेंट स्टेटस {...} इनलाइन अपडेट नहीं किया गया; अपेक्षित राज्य 1 मिला 0

मेरे गतिविधि इस तरह अंदर onCreate() जाता है:

FragmentManager fm = getSupportFragmentManager(); 
    retainedFragment = (GridFragment) fm.findFragmentByTag(RETAINED_FRAGMENT_TAG); 

    // If the Fragment is non-null, then it is currently being 
    // retained across a configuration change. 
    if (retainedFragment == null) { 
     retainedFragment = new GridFragment(); 
     fm.beginTransaction().add(retainedFragment, RETAINED_FRAGMENT_TAG).commit(); 
    }else{ 
     list = retainedFragment.getList(); 
     System.out.println(list.size());//OUTPUT 12 
    } 

और मेरे Fragments 'onAttach() है:

@Override 
public void onAttach(Context activity) { 
    super.onAttach(activity); 
    mCallbacks = (TaskCallbacks) activity; 
    System.out.println("here"); //OUTPUT here 
} 

अब, मैं बहुत ही अजीब उत्पादन मिल गया है हर स्क्रीन रोटेशन पर:

I/System.out: यहां

डब्ल्यू/फ्रैगमेंट प्रबंधक: moveToState: के लिए फ्रैगमेंट स्थिति ग्रिडफ्रैगमेंट {95fc9db # 0 retained_tag} इनलाइन अपडेट नहीं किया गया; उम्मीद राज्य 1 पाया 0

मैं/System.out: 12

कहाँ कि अजीब चेतावनी सही मेरी आदानों के बीच से आता है? इसका सामना कैसे करें? अग्रिम में धन्यवाद!

+0

+1 मेरे लिए समान है। क्या आपको कोई समाधान मिला?लगभग 20 रोटेशन परिवर्तनों के बाद ऐप धीमा हो रहा है, जब तक कि मैं इसे बंद और दोबारा खोलूं। –

उत्तर

8

यह संदेश कोई फर्क नहीं पड़ता और अतिरिक्त लॉग समर्थन लाइब्रेरी में हटा दिया गया था v24.0.0 यह आधिकारिक डेवलपर answer है:

उत्सुक के लिए, FragmentManager.moveToState अब नए टुकड़ा राज्य के रूप में अद्यतन करता है यह राज्य परिवर्तन चरणों के पूरा होने के बाद अंत में जाता है। यह बाल खंड प्रबंधक और निष्पादित करने के लिए कई दिलचस्प बग तय करता है जो माता-पिता खंड लाइफसाइक्ल कॉलबैक में से किसी एक के भीतर निष्पादित करता है।

राज्य संक्रमण से एक के रूप में हम एक टुकड़ा तक ला रहे हैं एक कोई को-अप है कि राज्य अद्यतन इनलाइन नहीं मिल रहा था, और लॉग आप कर रहे हैं देखने की घोषणा की जाती है कि हम अंत में यह किया इसके बजाए, जैसा कि हम 23.2 से पहले होंगे।

2

मुझे समर्थन लाइब्रेरी एपकोम्पेट-वी 7 23.1.1 से 23.4.0 तक जाने पर कई दिन पहले एक ही व्यवहार मिला।

ऐसा लगता है कि त्रुटि नई समर्थन लाइब्रेरी में है। 23.1.1 के साथ मुझे त्रुटि नहीं थी। थोड़ी देर के लिए जांच करने के बाद, मैं देख सकता हूं कि त्रुटि 23.2.0 में पेश की गई थी।

यदि आप 23.1.1 पर वापस जा सकते हैं तो चेतावनी दिखाई नहीं देगी।

ऐसा ही एक मुद्दा यहां बताया गया है: https://code.google.com/p/android/issues/detail?id=202037

लेकिन यह है कि यह केवल जांच की थी और टैब से संबंधित लगता है। इस मुद्दे को भविष्य के संस्करण के लिए हल किया गया है। लेकिन मुझे नहीं पता कि यह हमारे उपयोग के मामले को हल करने जा रहा है या नहीं।

उम्मीद है कि इससे समस्या में मदद मिलती है।

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