से पहले बुलाया जाता है, मैं फ्रैगमेंट एक्टिविटी और फ्रैगमेंट्स का उपयोग कर रहा हूं।घुमाने के बाद, क्रिएट() फ्रैगमेंट को क्रिएट() फ्रैगमेंट एक्टिविटी
जब आवेदन शुरू होता है:
FragmentActivity onCreate() <------
FragmentActivity onStart()
FragmentActivity onResume()
Fragment onAttach()
Fragment onCreate() <------
Fragment onCreateView()
Fragment onActivityCreated()
Fragment onStart()
Fragment onResume()
सब कुछ ठीक है, FragmentActivity OnCreate() टुकड़ा onCreate से पहले कहा जाता है()। और जब मैं बारी बारी से:
Fragment onPause()
FragmentActivity onPause()
Fragment onStop()
FragmentActivity onStop()
Fragment onDestroyView()
Fragment onDestroy()
Fragment onDetach()
FragmentActivity onDestroy()
---
Fragment onAttach()
Fragment onCreate() <----------
FragmentActivity onCreate() <---------
Fragment onCreateView()
Fragment onActivityCreated()
Fragment onStart()
FragmentActivity onStart()
FragmentActivity onResume()
Fragment onResume()
टुकड़ा OnCreate() FragmentActivity onCreate से पहले कहा जाता है()। यह असंगत क्यों है?
फ्रैगमेंट एक्टिविटी ऑनक्रेट() में मैं कुछ डेटा उत्पन्न करता हूं, जो फ्रैगमेंट ऑनक्रेट() हो जाता है। उस अजीब व्यवहार के कारण मुझे यह सुनिश्चित करने के लिए कि मेरा डेटा पहले उत्पन्न हुआ था, मुझे यह सुनिश्चित करने के लिए फ्रैगमेंट ऑनक्रेट() से फ्रैगमेंट ऑनक्रेट व्यू() तक अपना कोड ले जाना पड़ा।
मैं FragmentStatePagerAdapter का उपयोग टुकड़ों को पकड़ने के लिए कर रहा हूं, शायद यही कारण है?
तो, आप क्या हैं आर समाधान? – levi
@levi अपने विचारों को डेटा पर डेटा के साथ पॉप्युलेट करें() फ्रैगमेंट की विधि। या अपने आर्किटेक्चर पर पुनर्विचार करें, ज्यादातर मामलों में आपको मेजबान गतिविधि से अपना डेटा प्राप्त करने की आवश्यकता नहीं है। और यदि आपके पास डायनामिक डेटा के साथ ListView/RecyclerView है तो लोडर का उपयोग करें। यह मेरा अंतिम समाधान था क्योंकि मेरे पास हर टुकड़े में सूची थी। आप क्लीनर आर्किटेक्चर के लिए संदेश बस लाइब्रेरी (इवेंटबस, ओटो, ...) का भी उपयोग कर सकते हैं। – AppiDevo