फ़्रैगमेंट
| नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 01 जुलाई, 2026 | 1.8.9 | - | - | 1.9.0-alpha02 |
डिपेंडेंसी का एलान करना
Fragment पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { def fragment_version = "1.9.0" // Java language implementation implementation "androidx.fragment:fragment:$fragment_version" // Kotlin implementation "androidx.fragment:fragment-ktx:$fragment_version" // Compose implementation "androidx.fragment:fragment-compose:$fragment_version" // Testing Fragments in Isolation debugImplementation "androidx.fragment:fragment-testing-manifest:$fragment_version" androidTestImplementation "androidx.fragment:fragment-testing:$fragment_version" }
Kotlin
dependencies { val fragment_version = "1.9.0" // Java language implementation implementation("androidx.fragment:fragment:$fragment_version") // Kotlin implementation("androidx.fragment:fragment-ktx:$fragment_version") // Compose implementation("androidx.fragment:fragment-compose:$fragment_version") // Testing Fragments in Isolation debugImplementation("androidx.fragment:fragment-testing:$fragment_version") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
वर्शन 1.9
वर्शन 1.9.0-alpha02
01 जुलाई, 2026
androidx.fragment:fragment-*:1.9.0-alpha02 रिलीज़ हो गया है. वर्शन 1.9.0-alpha02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
AndroidFragmentकंपोज़ेबल मेंmaxLifecycleपैरामीटर जोड़ें. इससे, एम्बेड किए गएFragmentकी लाइफ़साइकल की स्थिति को सीमित किया जा सकता है. इससे आपको पेजर या टैब जैसे जटिल यूज़र इंटरफ़ेस (यूआई) सेटअप में इसके व्यवहार पर बेहतर कंट्रोल मिलता है. (Ie99b5, b/526109804)- फ़्रैगमेंट लाइब्रेरी अब Jetpack Tracing की मदद से, लाइफ़साइकल इवेंट की सिस्टम ट्रेसिंग की सुविधा देती है. (Ibc63b, b/112161409)
वर्शन 1.9.0-alpha01
17 जून, 2026
androidx.fragment:fragment-*:1.9.0-alpha01 रिलीज़ हो गया है. वर्शन 1.9.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- फ़्रैगमेंट अब
ContextAwareइंटरफ़ेस लागू करता है. इसका इस्तेमाल, फ़्रैगमेंट अटैच होने पर कोड को एक्ज़ीक्यूट करने के लिए किया जा सकता है. (I38019, b/477255355)
गड़बड़ियां ठीक की गईं
- फ़्रैगमेंट में क्रैश होने की समस्या को ठीक किया गया है. यह समस्या तब होती थी, जब अनुमानित बैक जेस्चर के दौरान ऐक्टिविटी को बैकग्राउंड में भेजा जाता था. (I55734, b/389589678)
- UnsafeFragmentLifecycleObserverDetector अब कंपोज़िशन में नहीं चलता. (Ic4176, b/501504696)
- [Fragment 1.8.9 से] उस समस्या को ठीक किया गया है जिसमें अनुमानित बैक जेस्चर को रद्द करने पर, ऐनिमेटर का इस्तेमाल करते समय, बाद के जेस्चर को सही तरीके से ऐनिमेट नहीं किया जाता था. (I0a400, b/384765586)
- [Fragment 1.8.9 से] ऐसी गड़बड़ी को ठीक किया गया है जिसमें setMaxLifecycle और popBackStack के कॉम्बिनेशन की वजह से, टॉप फ़्रैगमेंट को RESUMED पर ले जाने में समस्या आ सकती थी. (I3448b, b/406127576)
- [Fragment 1.8.8 से] ऐसी समस्या को ठीक किया गया है जिसमें
setMaxLifecycle(Lifecycle.State.INITIALIZED)का इस्तेमाल करके जोड़े गए फ़्रैगमेंट की स्थिति को सेव करते समय, FragmentManager क्रैश हो जाता था. इन फ़्रैगमेंट कोonCreate()से नहीं गुज़ारा गया है. इसलिए, अब इनकी कोई भी स्थिति सेव नहीं की गई है और न ही इन्हेंonSaveInstanceState()कहा गया है. (I6e37a, b/408163315) - [Fragment 1.8.7 से] हमने एक समस्या ठीक की है. इस समस्या में, एक ही फ़्रेम में पॉप और बदलने की कार्रवाइयों के बाद, FragmentManager सही स्थिति में नहीं होता था. इससे, अनुमानित बैक बटन की सुविधा के साथ मिलकर क्रैश हो सकता था. (I50ad1, b/380288461)
- [Fragment 1.8.6 से] FragmentContainerView के
setOnApplyWindowInsetsListenerओवरराइड में अब null लिसनर का इस्तेमाल किया जा सकता है. (I575f0, b/282790626) - [Fragment 1.8.5 से]
IllegalStateExceptionको ठीक किया गया है. यहsaveBackStackसिर्फ़ तब ट्रिगर होता था, जब पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर को रद्द कर दिया जाता था या उसमें रुकावट आ जाती थी. (I3387d, b/342419080) - [Fragment 1.8.4 से]
AndroidFragmentके उसUninitializedPropertyAccessExceptionको ठीक किया गया है जबAndroidFragmentइंस्टेंस इस्तेमाल कर रही क्लास को डाइनैमिक तरीके से स्वैप किया जाता है. (I12dea, b/365578408) - [Fragment 1.8.4 से] उस समस्या को ठीक कर दिया गया है जिसमें सिस्टम के 'वापस जाएं' बटन को तेज़ी से दबाने या तेज़ी से पीछे की ओर स्वाइप करने पर, फ़्रैगमेंट क्रैश हो जाते थे. (Ibc038, b/364804225, b/364914301)
- [Fragment 1.8.4 से] हमने फ़्रैगमेंट में मौजूद एक समस्या को ठीक किया है. इस समस्या की वजह से, अनुमानित बैक जेस्चर को बीच में रोकने पर, फ़्रैगमेंट मैनेजर की स्थिति तय नहीं हो पाती थी. साथ ही, गलत फ़्रैगमेंट भी दिखता था. (If82e2, b/338624457)
- [Fragment 1.8.3 से]
AndroidFragmentको कंपोज़िशन में जोड़ने पर अब क्रैश नहीं होता. ऐसा तब होता है, जब कंपोज़िशन में शामिल गतिविधि/फ़्रैगमेंट की स्थिति पहले से सेव हो. (I985e9, b/356643968) - [Fragment 1.8.2 से] FragmentManager के पास लंबित कार्रवाइयां होने पर, सिस्टम के बैक बटन को ट्रिगर करने से अब आउट ऑफ़ बाउंड अपवाद नहीं होगा. (I9ba32, b/342316801)
- [Fragment 1.8.2 से]
AndroidFragmentअब उन मामलों को ठीक से हैंडल करता है जहां पैरंट फ़्रैगमेंट को फ़्रैगमेंट बैक स्टैक पर रखा जाता है. इससे उस फ़्रैगमेंट पर वापस जाने पर, 'No view found for id' से जुड़ी समस्याएं नहीं होती हैं. (I94608, b/347706985) - [Fragment 1.8.2 से]
FragmentTransaction.addतरीके से जोड़े गए फ़्रैगमेंट, अबViewGroupलेने के बादonContainerAvailableतक इंतज़ार करते हैं. इसके बाद, वेonStart()पर आगे बढ़ते हैं. इससे उस एपीआई का इस्तेमाल करने वाले लोगों पर असर पड़ता है. जैसे,AndroidFragment. अबAndroidFragmentकोonStart()के ज़रिए आगे बढ़ाने से पहले, कंपोज़िशन में फिर से शामिल होने के लिए इंतज़ार करना होगा. (I94608, b/347706985) - [Fragment 1.8.1 से] कंटेनर के बिना फ़्रैगमेंट से जुड़ी समस्या ठीक की गई. इस समस्या में, अनुमानित बैक जेस्चर शुरू करने पर फ़्रैगमेंट तुरंत DESTROYED हो जाते थे. (If6b83, b/345244539)
बाहरी योगदान
- fragment-ktx को फ़्रैगमेंट लाइब्रेरी में मर्ज करें. सभी Kotlin एक्सटेंशन, अब मुख्य फ़्रैगमेंट आर्टफ़ैक्ट का हिस्सा हैं. fragment-ktx अब कंपैटिबिलिटी के लिए एक खाली आर्टफ़ैक्ट है. धन्यवाद, जेक व्हार्टन! (Idabaa)
वर्शन 1.8
वर्शन 1.8.9
13 अगस्त, 2025
androidx.fragment:fragment-*:1.8.9 रिलीज़ हो गया है. वर्शन 1.8.9 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें, अनुमान लगाकर पीछे जाने के जेस्चर को रद्द करने पर, छिपाने की कार्रवाई शुरू हो जाती थी. इससे ऐनिमेटर का इस्तेमाल करते समय, बाद के जेस्चर को सही तरीके से ऐनिमेट नहीं किया जा सकता था. (I0a400, b/384765586)
- उस गड़बड़ी को ठीक किया गया है जिसमें
setMaxLifecycleऔरpopBackStackके कॉम्बिनेशन की वजह से, टॉप फ़्रैगमेंट को RESUMED पर ले जाने में समस्या आ सकती थी. (I3448b, b/406127576)
वर्शन 1.8.8
4 जून, 2025
androidx.fragment:fragment-*:1.8.8 रिलीज़ हो गया है. वर्शन 1.8.8 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक कर दिया गया है जिसमें
setMaxLifecycle(Lifecycle.State.INITIALIZED)के ज़रिए जोड़े गए फ़्रैगमेंट की स्थिति को सेव करते समयFragmentManagerक्रैश हो जाता था. इन फ़्रैगमेंट कोonCreate()से नहीं गुज़ारा गया है. इसलिए, अब इनकी कोई भी स्थिति सेव नहीं की गई है और न हीonSaveInstanceState()को कॉल किया गया है. (I6e37a)
वर्शन 1.8.7
20 मई, 2025
androidx.fragment:fragment-*:1.8.7 रिलीज़ हो गया है. वर्शन 1.8.7 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- हमने एक समस्या को ठीक किया है. इस समस्या में, एक ही फ़्रेम में पॉप और बदलने की कार्रवाइयों के बाद
FragmentManagerसही स्थिति में नहीं होता था. इससेpopBackStackया अनुमानित बैक जेस्चर के ज़रिए बैकस्टैक को पॉप करने पर क्रैश हो सकता था. (I50ad1) - AndroidX ट्रांज़िशन का इस्तेमाल करने की वजह से होने वाली क्रैश की समस्या को ठीक किया गया है. इस समस्या में, फ़्रैगमेंट के लगातार होने वाले ट्रांज़ैक्शन, शुरू नहीं हुए ट्रांज़िशन को रद्द करने की कोशिश करते हैं. साथ ही, AndroidX ट्रांज़िशन लाइब्रेरी, ट्रांज़िशन की स्थिति को सही तरीके से मिटा नहीं पाती है. (b/414612221 देखें). (Ib5235)
वर्शन 1.8.6
12 फ़रवरी, 2025
androidx.fragment:fragment-*:1.8.6 रिलीज़ हो गया है. वर्शन 1.8.6 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
FragmentContainerViewकेsetOnApplyWindowInsetsListenerओवरराइड में अब एक नल लिसनर होता है, जो फ़्रेमवर्क की अनुमति के मुताबिक होता है. (I575f0, b/282790626)
वर्शन 1.8.5
30 अक्टूबर, 2024
androidx.fragment:fragment-*:1.8.5 रिलीज़ हो गया है. वर्शन 1.8.5 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- हमने
IllegalStateExceptionको ठीक किया है. यहsaveBackStackसिर्फ़ तब ट्रिगर होता था, जब अनुमानित बैक जेस्चर को रद्द कर दिया जाता था या उसमें रुकावट आ जाती थी. (I3387d, b/342419080)
वर्शन 1.8.4
2 अक्टूबर, 2024
androidx.fragment:fragment-*:1.8.4 रिलीज़ हो गया है. वर्शन 1.8.4 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- हमने उस समस्या को ठीक कर दिया है जिसमें AndroidX ट्रांज़िशन का इस्तेमाल करते समय, सिस्टम के 'वापस जाएं' बटन को तुरंत दबाने या हाथ के जेस्चर से तुरंत वापस जाने पर, फ़्रैगमेंट क्रैश हो जाते थे. (Ibc038, b/364804225)
- फ़्रैगमेंट में एक समस्या ठीक की गई है. इसमें, अनुमानित बैक जेस्चर को बीच में रोकने पर, फ़्रैगमेंट मैनेजर को अनडिफ़ाइंड स्थिति में भेज दिया जाता था. साथ ही, गलत फ़्रैगमेंट भी दिखता था. (If82e2, b/338624457)
AndroidFragmentकेUninitializedPropertyAccessExceptionको ठीक किया गया है. यह समस्या तब होती थी, जबAndroidFragmentइंस्टेंस इस्तेमाल की जा रही क्लास को डाइनैमिक तरीके से स्वैप किया जाता था. (I12dea)
वर्शन 1.8.3
4 सितंबर, 2024
androidx.fragment:fragment-*:1.8.3 रिलीज़ हो गया है. वर्शन 1.8.3 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
FragmentManagerअब पीछे जाने की झलक दिखाने वाले जेस्चर को हैंडल करते समय, लंबित कार्रवाइयों को ध्यान में रखता है. इससे यह पक्का हो जाएगा कि सिस्टम को वापस लाने पर, अबIndexOutOfBoundsExceptionनहीं होगा. (I9ba32, b/342316801)AndroidFragmentको कंपोज़िशन में जोड़ने पर, अब यह क्रैश नहीं होता. ऐसा तब होता है, जब गतिविधि/फ़्रैगमेंट की स्थिति पहले से ही सेव हो. (I985e9, b/356643968)
वर्शन 1.8.2
24 जुलाई, 2024
androidx.fragment:fragment-*:1.8.2 रिलीज़ हो गया है. वर्शन 1.8.2 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
AndroidFragmentअब उन मामलों को ठीक से हैंडल करता है जहां पैरंट फ़्रैगमेंट को फ़्रैगमेंट बैक स्टैक पर रखा जाता है. इससे उस फ़्रैगमेंट पर वापस जाने पर, 'No view found for id' की समस्याएं नहीं होती हैं. (I94608)FragmentTransaction.addतरीके से जोड़े गए फ़्रैगमेंट, अबViewGroupलेते हैं. इसके बाद, वेonContainerAvailableका इंतज़ार करते हैं. इसके बाद, वेonStart()पर जाते हैं. इससे उस एपीआई का इस्तेमाल करने वाले लोगों पर असर पड़ता है. जैसे,AndroidFragment. अबAndroidFragmentकोonStart()के ज़रिए आगे बढ़ाने से पहले, कंपोज़िशन में फिर से शामिल होने के लिए इंतज़ार करना होगा. (I94608)
वर्शन 1.8.1
26 जून, 2024
androidx.fragment:fragment-*:1.8.1 रिलीज़ हो गया है. वर्शन 1.8.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसकी वजह से कंटेनर के बिना फ़्रैगमेंट, अनुमानित बैक जेस्चर शुरू करने पर तुरंत
DESTROYEDहो जाते थे. अब येCREATEDस्थिति में तब तक रहते हैं, जब तक जेस्चर पूरा नहीं हो जाता. (If6b83, b/345244539)
वर्शन 1.8.0
12 जून, 2024
androidx.fragment:fragment-*:1.8.0 रिलीज़ हो गया है. वर्शन 1.8.0 में ये बदलाव शामिल हैं.
1.7.0 के बाद हुए ज़रूरी बदलाव
fragment-composeआर्टफ़ैक्ट में अबAndroidFragmentComposableशामिल है. इससे फ़्रैगमेंट क्लास के नाम का इस्तेमाल करके, Compose के क्रम में फ़्रैगमेंट जोड़े जा सकते हैं. यह फ़्रैगमेंट की स्थिति को सेव करने और वापस लाने की प्रोसेस को अपने-आप मैनेज करता है. इसका इस्तेमाल, फ़्रैगमेंट को बड़ा करने के लिएAndroidViewBindingका इस्तेमाल करने के पहले से सुझाए गए तरीके के विकल्प के तौर पर किया जाना चाहिए.FragmentManagerकेOnBackStackChangedListenerइंटरफ़ेस पर मौजूदonBackStackChangeCancelledकॉलबैक अबFragmentManagerमें कार्रवाइयां करने के दौरान ट्रिगर होता है. इससे यहonBackStackChangeCommittedकॉलबैक के ट्रिगर होने के समय के ज़्यादा करीब आ जाता है.
वर्शन 1.8.0-rc01
29 मई, 2024
androidx.fragment:fragment-*:1.8.0-rc01 रिलीज़ हो गया है. वर्शन 1.8.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
FragmentManagers OnBackStackChangedListenerइंटरफ़ेस पर मौजूदonBackStackChangeCancelledकॉलबैक अबFragmentManagerमें कार्रवाइयां करने के दौरान ट्रिगर होता है. इससे यहonBackStackChangeCommittedकॉलबैक के ट्रिगर होने के समय के ज़्यादा करीब आ जाता है. (I5ebfb, b/332916112)
वर्शन 1.8.0-beta01
14 मई, 2024
androidx.fragment:fragment-*:1.8.0-beta01 रिलीज़ हो गया है. वर्शन 1.8.0-beta01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- फ़्रैगमेंट
1.7.1से: पीछे जाने पर झलक दिखाने वाला हाथ का जेस्चर की सुविधा अब सिर्फ़ उन लेन-देन के लिए काम करेगी जिनमें सभी फ़्रैगमेंट में ऐनिमेटर या AndroidX ट्रांज़िशन की सुविधा उपलब्ध है. इससे उस समस्या को ठीक किया गया है जिसमें कुछ हद तक आगे-पीछे किए जा सकने वाले लेन-देन को रद्द करने पर, काली स्क्रीन दिखती थी. (I43037, b/339169168)
वर्शन 1.8.0-alpha02
17 अप्रैल, 2024
androidx.fragment:fragment-*:1.8.0-alpha02 रिलीज़ हो गया है. वर्शन 1.8.0-alpha02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- फ़्रैगमेंट
1.7.0-rc02से: ऐसे लॉग जोड़े गए हैं जिनसे यह पता चलेगा कि बिना किसी अन्य ट्रांज़िशन केsharedElementसेट करने पर, वह क्यों नहीं चलेगा. (Iec48e) - फ़्रैगमेंट
1.7.0-rc02: इस गड़बड़ी को ठीक किया गया है. इसमें, अगर किसी ऐसे लेन-देन में शेयर किया गया कोई ऐसा एलिमेंट जोड़ा जाता था जिसे ढूंढा नहीं जा सकता था, तो क्रैश हो जाता था. हालांकि, लेन-देन में मौजूद अन्य सभी ट्रांज़िशन को ढूंढा जा सकता था. अब लेन-देन को सही तरीके से, खोजे नहीं जा सकने वाले लेन-देन के तौर पर माना जाएगा. (I18ccd)
वर्शन 1.8.0-alpha01
3 अप्रैल, 2024
androidx.fragment:fragment-*:1.8.0-alpha01 रिलीज़ हो गया है. वर्शन 1.8.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- नए
AndroidFragmentComposableकी मदद से, फ़्रैगमेंट क्लास के नाम का इस्तेमाल करके, कंपोज़ हेरारकी में फ़्रैगमेंट जोड़े जा सकते हैं. यह फ़्रैगमेंट की स्थिति को सेव करने और वापस लाने की प्रोसेस को अपने-आप मैनेज करता है. इसका इस्तेमाल, AndroidViewBindingComposableकी जगह सीधे तौर पर किया जा सकता है.(b/312895363, Icf841)
दस्तावेज़ में बदलाव
OnBackStackChangedListenerएपीआई के लिए दस्तावेज़ अपडेट किए गए हैं. इनमें बताया गया है कि इन्हें कब कॉल किया जाता है और इनका इस्तेमाल कैसे किया जाना चाहिए. (I0bfd9)
डिपेंडेंसी अपडेट
- अब फ़्रैगमेंट, Profile Installer 1.3.1 पर निर्भर करता है.
वर्शन 1.7
वर्शन 1.7.1
14 मई, 2024
androidx.fragment:fragment-*:1.7.1 रिलीज़ हो गया है. वर्शन 1.7.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- पीछे जाने पर झलक दिखाने वाली सुविधा अब सिर्फ़ उन लेन-देन के लिए काम करेगी जिनमें सभी फ़्रैगमेंट में, Animator या Seekable Androidx ट्रांज़िशन मौजूद है. इस अपडेट में, आंशिक रूप से खोजे जा सकने वाले लेन-देन को रद्द करने पर खाली स्क्रीन दिखने की समस्या को ठीक किया गया है. (I43037, b/339169168)
वर्शन 1.7.0
1 मई, 2024
androidx.fragment:fragment-*:1.7.0 रिलीज़ हो गया है. वर्शन 1.7.0 में ये बदलाव शामिल हैं.
पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा
- अब फ़्रैगमेंट,
Animatorका इस्तेमाल करने पर या AndroidX Transition 1.5.0 का इस्तेमाल करने पर, ऐप्लिकेशन में पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा के साथ काम करते हैं. इससे उपयोगकर्ता, वापस जाने के लिए किए जाने वाले जेस्चर का इस्तेमाल करके, पिछले फ़्रैगमेंट को देख सकते हैं. इसके लिए, उन्हें ट्रांज़िशन या ऐनिमेशन के बारे में जानकारी चाहिए होती है. इसके बाद, वे जेस्चर पूरा करके ट्रांज़ैक्शन को पूरा करने या रद्द करने का फ़ैसला लेते हैं.
| ट्रांज़िशन सिस्टम | एक्सएमएल संसाधन | पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा काम करती है |
|---|---|---|
Animation |
R.anim |
नहीं |
Animator |
R.animator |
हां |
फ़्रेमवर्क Transition |
R.transition |
नहीं |
AndroidX Transition के साथ Transition 1.4.1 या इससे पहले का वर्शन |
R.transition |
नहीं |
AndroidX Transition के साथ Transition 1.5.0 |
R.transition |
हां |
अगर आपने पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा के लिए ऑप्ट-इन किया है और इसके बाद आपको फ़्रैगमेंट में, पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा से जुड़ी कोई समस्या दिखती है, तो कृपया फ़्रैगमेंट से जुड़ी समस्या की शिकायत करें. साथ ही, एक ऐसा सैंपल प्रोजेक्ट शामिल करें जिसमें आपकी समस्या दिखती हो. अपनी गतिविधि के onCreate() में FragmentManager.enabledPredictiveBack(false) का इस्तेमाल करके, अनुमानित बैक सुविधा को बंद किया जा सकता है.
FragmentManager.OnBackStackChangedListener() अब onBackStackChangeProgressed() और onBackStackChangeCancelled() उपलब्ध कराता है. इनकी मदद से, बैक जेस्चर के प्रोग्रेस और रद्द किए गए इवेंट की जानकारी मिलती है.
Fragment Compose Artifact
एक नया fragment-compose आर्टफ़ैक्ट बनाया गया है. यह उन ऐप्लिकेशन को सपोर्ट करने पर फ़ोकस करता है जो फ़्रैगमेंट आधारित आर्किटेक्चर से पूरी तरह से कंपोज़ आधारित आर्किटेक्चर पर माइग्रेट कर रहे हैं.
इस नए आर्टफ़ैक्ट में उपलब्ध पहली सुविधा, Fragment पर content एक्सटेंशन मेथड है. इसका मकसद, किसी फ़्रैगमेंट के यूज़र इंटरफ़ेस (यूआई) के लिए Compose का इस्तेमाल करना आसान बनाना है. इसके लिए, यह आपके लिए एक ComposeView बनाता है और सही ViewCompositionStrategy सेट करता है.
class ExampleFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
) = content {
// Write your @Composable content here
val viewModel: ExampleViewModel = viewModel()
// or extract it into a separate, testable method
ExampleComposable(viewModel)
}
}
वर्शन 1.7.0-rc02
17 अप्रैल, 2024
androidx.fragment:fragment-*:1.7.0-rc02 रिलीज़ हो गया है. वर्शन 1.7.0-rc02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ऐसे लॉग जोड़े गए हैं जिनसे यह पता चलता है कि बिना किसी अन्य ट्रांज़िशन के
sharedElementसेट करने पर, वह क्यों नहीं चलेगा. (Iec48e) - इस गड़बड़ी को ठीक किया गया है. इसमें, अगर किसी ऐसे लेन-देन में शेयर किया गया कोई ऐसा एलिमेंट जोड़ा जाता था जिसे ढूंढा नहीं जा सकता था, तो क्रैश हो जाता था. हालांकि, उस लेन-देन में मौजूद अन्य सभी ट्रांज़िशन को ढूंढा जा सकता था. अब लेन-देन को सही तरीके से, खोजे नहीं जा सकने वाले लेन-देन के तौर पर माना जाएगा. (I18ccd)
वर्शन 1.7.0-rc01
3 अप्रैल, 2024
androidx.fragment:fragment-*:1.7.0-rc01 रिलीज़ हो गया है. वर्शन 1.7.0-rc01 में ये बदलाव शामिल हैं.
डिपेंडेंसी अपडेट
- अब फ़्रैगमेंट, Profile Installer 1.3.1 पर निर्भर करता है.
वर्शन 1.7.0-beta01
20 मार्च, 2024
androidx.fragment:fragment-*:1.7.0-beta01 रिलीज़ हो गया है. वर्शन 1.7.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
FragmentHostCallbackको अब Kotlin में लिखा गया है, ताकि होस्ट के जेनरिक टाइप की वैल्यू न होने की स्थिति,onGetHost()के रिटर्न टाइप की वैल्यू न होने की स्थिति से मेल खाए. (I40af5)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें कंटेनर में मौजूद नहीं होने वाले फ़्रैगमेंट पर, अनुमानित बैक जेस्चर का इस्तेमाल करने पर, वह फ़्रैगमेंट कभी भी बंद नहीं होता था. अब फ़्रैगमेंट को तुरंत फ़ाइनल स्टेट में ले जाया जाएगा. (Ida0d9)
- Fragments में, अनुमानित बैक जेस्चर की मदद से आने वाले ट्रांज़िशन को रोकने पर, व्यू के खराब होने और स्क्रीन के खाली रहने की समस्या को ठीक किया गया है. (Id3f22, b/319531491)
वर्शन 1.7.0-alpha10
7 फ़रवरी, 2024
androidx.fragment:fragment-*:1.7.0-alpha10 रिलीज़ हो गया है. वर्शन 1.7.0-alpha10 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Fragment की पिछली रिलीज़ में मौजूद उस समस्या को ठीक किया गया है जिसमें
Animatorया AndroidX ट्रांज़िशन के लिए, Fragment की 'पीछे जाने पर झलक दिखाने की सुविधा' का इस्तेमाल करने पर, अगरaddOnBackStackChangedListenerके ज़रिए कोईFragmentManager.OnBackStackChangedListenerनहीं जोड़ा गया है, तो Fragments,handleOnBackProgressedसेNullPointerExceptionदिखाएंगे. (I7c835)
वर्शन 1.7.0-alpha09
24 जनवरी, 2024
androidx.fragment:fragment-*:1.7.0-alpha09 रिलीज़ हो गया है. वर्शन 1.7.0-alpha09 में ये बदलाव शामिल हैं.
Fragment Compose Artifact
एक नया fragment-compose आर्टफ़ैक्ट बनाया गया है. यह उन ऐप्लिकेशन को सपोर्ट करने पर फ़ोकस करता है जो फ़्रैगमेंट आधारित आर्किटेक्चर से पूरी तरह से कंपोज़ आधारित आर्किटेक्चर पर माइग्रेट कर रहे हैं.
इस नए आर्टफ़ैक्ट में उपलब्ध पहली सुविधा, Fragment पर content एक्सटेंशन मेथड है. इसका मकसद, किसी फ़्रैगमेंट के यूज़र इंटरफ़ेस (यूआई) के लिए Compose का इस्तेमाल करना आसान बनाना है. इसके लिए, यह आपके लिए एक ComposeView बनाता है और सही ViewCompositionStrategy सेट करता है. (561cb7, b/258046948)
class ExampleFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
) = content {
// Write your @Composable content here
val viewModel: ExampleViewModel = viewModel()
// or extract it into a separate, testable method
ExampleComposable(viewModel)
}
}
नई सुविधाएं
FragmentManager.OnBackStackChangedListener()अबonBackStackChangeProgressed()औरonBackStackChangeCancelled()उपलब्ध कराता है. इनकी मदद से, बैक जेस्चर के प्रोग्रेस और रद्द किए गए इवेंट की जानकारी मिलती है. (214b87)
आम समस्या
Animatorया AndroidX ट्रांज़िशन के लिए, Fragment में पीछे जाने पर झलक दिखाने की सुविधा का इस्तेमाल करते समय, अगरaddOnBackStackChangedListenerके ज़रिए कोईFragmentManager.OnBackStackChangedListenerनहीं जोड़ा गया है, तो Fragment,handleOnBackProgressedसेNullPointerExceptionथ्रो करेगा. लिसनर को मैन्युअल तरीके से जोड़ने पर, क्रैश की समस्या ठीक हो जाएगी. इस समस्या को ठीक करने के लिए, Fragments का अगला वर्शन उपलब्ध होगा.
वर्शन 1.7.0-alpha08
10 जनवरी, 2024
androidx.fragment:fragment-*:1.7.0-alpha08 रिलीज़ हो गया है. वर्शन 1.7.0-alpha08 में ये बदलाव शामिल हैं.
खाली करने के लिए जगह
- ट्रांज़िशन लाइब्रेरी के लिए, कामचलाऊ समाधान को हटा दिया गया है. इस समस्या को Transition
1.5.0-alpha06में ठीक कर दिया गया है. (I04356)
वर्शन 1.7.0-alpha07
29 नवंबर, 2023
androidx.fragment:fragment-*:1.7.0-alpha07 रिलीज़ हो गया है. वर्शन 1.7.0-alpha07 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- शेयर किए गए एलिमेंट का ट्रांज़िशन सेट करने और enter/exitTransition सेट न करने की वजह से हुई
NullPointerExceptionको ठीक किया गया है. (I8472b) - फ़्रैगमेंट
1.6.2से: जबFragmentContainerViewका फ़्रैगमेंट बड़ा किया जाता है, तो उसकी स्थितियां, जैसे किFragmentManager, होस्ट, और आईडी अबonInflateकॉलबैक में ऐक्सेस की जा सकती हैं. (I1e44c, b/307427423) - फ़्रैगमेंट
1.6.2से: फ़्रैगमेंट के सेट को हटाने के लिएclearBackStackका इस्तेमाल करने पर, पैरंट फ़्रैगमेंट केViewModelsमिटाए जाने पर, नेस्ट किए गए किसी भी फ़्रैगमेंट केViewModelअब मिट जाएंगे. (I6d83c, b/296173018)
वर्शन 1.7.0-alpha06
4 अक्टूबर, 2023
androidx.fragment:fragment-*:1.7.0-alpha06 रिलीज़ हो गया है. वर्शन 1.7.0-alpha06 में ये बदलाव शामिल हैं.
डिपेंडेंसी अपडेट
- Fragments को अपडेट कर दिया गया है. अब यह Transition
1.5.0-alpha04में जोड़े गए नएanimateToStartAPI पर निर्भर करता है.
वर्शन 1.7.0-alpha05
20 सितंबर, 2023
androidx.fragment:fragment-*:1.7.0-alpha05 रिलीज़ हो गया है. वर्शन 1.7.0-alpha05 में ये बदलाव शामिल हैं.
नई सुविधाएं
- AndroidX ट्रांज़िशन का इस्तेमाल करते समय, फ़्रैगमेंट अब पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा के साथ काम करते हैं. इससे, पीछे जाने के जेस्चर का इस्तेमाल करके, पिछले फ़्रैगमेंट पर जाने का अनुरोध किया जा सकता है. इसके लिए, आपको AndroidX ट्रांज़िशन का इस्तेमाल करना होगा. इसके बाद, आपको यह तय करना होगा कि जेस्चर पूरा होने पर ट्रांज़ैक्शन को पूरा करना है या रद्द करना है. इस सुविधा को चालू करने के लिए, आपको ट्रांज़िशन
1.5.0-alpha03रिलीज़ पर निर्भर रहना होगा. (Ib49b4, b/285175724)
मौजूदा समस्याएं
- फ़िलहाल, एक समस्या आ रही है. इसमें, ट्रांज़िशन के साथ बैक जेस्चर को एक बार रद्द करने के बाद, अगली बार बैक जेस्चर शुरू करने पर ट्रांज़िशन नहीं चलेगा. इससे स्क्रीन खाली हो जाएगी. ऐसा ट्रांज़िशन लाइब्रेरी में किसी समस्या की वजह से हो सकता है. (b/300157785). अगर आपको यह समस्या दिखती है, तो कृपया Fragment के ख़िलाफ़ समस्या की शिकायत करें. साथ ही, एक ऐसा सैंपल प्रोजेक्ट शामिल करें जिससे आपकी समस्या को दोहराया जा सके. अपनी गतिविधि के
onCreate()मेंFragmentManager.enabledPredictiveBack(false)का इस्तेमाल करके, अनुमानित बैक सुविधा को बंद किया जा सकता है.
वर्शन 1.7.0-alpha04
6 सितंबर, 2023
androidx.fragment:fragment-*:1.7.0-alpha04 रिलीज़ हो गया है. वर्शन 1.7.0-alpha04 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- अनुमानित बैक जेस्चर को रद्द करने पर, फ़्रैगमेंट के सही लाइफ़साइकल की स्थिति में न पहुंचने की समस्या को ठीक किया गया है. (I7cffe, b/297379023)
- ऐसी रिग्रेशन गड़बड़ी को ठीक किया गया है जिसमें ट्रांज़िशन के साथ ऐनिमेशन चलाने की अनुमति दी गई थी. (I59f36)
- फ़्रैगमेंट के साथ पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर का इस्तेमाल करते समय होने वाली समस्या को ठीक किया गया है. इस समस्या में, बैक स्टैक पर मौजूद आखिरी से दूसरे फ़्रैगमेंट पर तेज़ी से दो बार वापस जाने की कोशिश करने पर ऐप्लिकेशन क्रैश हो जाता था. (Ifa1a4)
वर्शन 1.7.0-alpha03
23 अगस्त, 2023
androidx.fragment:fragment-*:1.7.0-alpha03 रिलीज़ हो गया है. वर्शन 1.7.0-alpha03 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- अनुमानित तौर पर पीछे जाने की सुविधा का इस्तेमाल करते समय, फ़्रैगमेंट से जुड़ी समस्या को ठीक किया गया है. इस समस्या की वजह से, फ़्रैगमेंट मैनेजर के बैक स्टैक में मौजूद पहले फ़्रैगमेंट को स्किप कर दिया जाता था. साथ ही, तीन बटन वाले नेविगेशन या अनुमानित तौर पर पीछे जाने के जेस्चर के ज़रिए सिस्टम बैक का इस्तेमाल करने पर, गतिविधि बंद हो जाती थी. (I0664b, b/295231788)
वर्शन 1.7.0-alpha02
9 अगस्त, 2023
androidx.fragment:fragment-*:1.7.0-alpha02 रिलीज़ हो गया है. वर्शन 1.7.0-alpha02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- API 34 से, अनुमान लगाने वाले बैक जेस्चर के साथ फ़्रैगमेंट का इस्तेमाल करते समय, अगर ट्रांज़िशन सिस्टम का इस्तेमाल किया जा रहा है, तो फ़्रैगमेंट अब तब तक इंतज़ार करेंगे, जब तक जेस्चर पूरा नहीं हो जाता. इसके बाद, वे बैक ऐक्शन को पूरा करेंगे. ऐसा तब होगा, जब ट्रांज़िशन सिस्टम में सीकिंग (
Animations,Transitions) की सुविधा काम नहीं करती या ट्रांज़िशन की सुविधा काम नहीं करती. (I8100c)
वर्शन 1.7.0-alpha01
7 जून, 2023
androidx.fragment:fragment-*:1.7.0-alpha01 रिलीज़ हो गया है. इस वर्शन को इंटरनल ब्रांच में डेवलप किया गया है.
नई सुविधाएं
Animatorका इस्तेमाल करते समय, फ़्रैगमेंट अब ऐप्लिकेशन में पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर की सुविधा के साथ काम करते हैं. इससे, वापस जाने के जेस्चर का इस्तेमाल करके, पिछले फ़्रैगमेंट को अपने कस्टम ऐनिमेटर के साथ देखा जा सकता है. इसके बाद, यह तय किया जा सकता है कि जेस्चर पूरा करके लेन-देन किया जाए या रद्द किया जाए. एक्सपेरिमेंट के तौर पर उपलब्धenablePredictiveBack()का इस्तेमाल करके औरfalseपास करके, इस नई सुविधा को बंद किया जा सकता है.
वर्शन 1.6
वर्शन 1.6.2
1 नवंबर, 2023
androidx.fragment:fragment-*:1.6.2 रिलीज़ हो गया है. वर्शन 1.6.2 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
FragmentContainerViewके फ़्रैगमेंट के इन्फ़्लेट होने पर, अब इसकी स्थितियांFragmentManager, होस्ट, और आईडी कोonInflateकॉलबैक में ऐक्सेस किया जा सकता है. (I1e44c, b/307427423)- फ़्रैगमेंट के किसी सेट को हटाने के लिए
clearBackStackका इस्तेमाल करने पर, अब पैरंट फ़्रैगमेंट केViewModelsक्लियर होने पर, नेस्ट किए गए किसी भी फ़्रैगमेंट केViewModelक्लियर हो जाएंगे. (I6d83c, b/296173018)
वर्शन 1.6.1
26 जुलाई, 2023
androidx.fragment:fragment-*:1.6.1 रिलीज़ हो गया है. वर्शन 1.6.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- गतिविधि के बंद होने पर सेव की गई स्थिति को गलत तरीके से कैश मेमोरी में सेव होने की समस्या को ठीक किया गया है. ऐसा तब होता था, जब गतिविधि को बंद किया गया हो, लेकिन खत्म न किया गया हो. यह समस्या तब भी होती थी, जब फ़्रैगमेंट इंस्टेंस को वापस
RESUMEDस्थिति में ले जाया गया हो. इससे, कैश मेमोरी में सेव की गई स्थिति का फिर से इस्तेमाल किया जा सकेगा. ऐसा तब होगा, जब उस फ़्रैगमेंट इंस्टेंस को सेव और वापस लाने के लिए, एक से ज़्यादा बैक स्टैक वाले एपीआई का इस्तेमाल किया जा रहा हो और वह बैक स्टैक में मौजूद हो. (I71288, b/246289075)
डिपेंडेंसी अपडेट
- अब फ़्रैगमेंट, ऐक्टिविटी 1.7.2 पर निर्भर करता है. इससे उस समस्या को ठीक किया गया है जिसमें Kotlin का इस्तेमाल करने वाले लोग, Activity पर साफ़ तौर पर निर्भरता के बिना
ComponentDialogको नहीं बढ़ा सकते थे. (b/287509323)
वर्शन 1.6.0
7 जून, 2023
androidx.fragment:fragment-*:1.6.0 रिलीज़ हो गया है. वर्शन 1.6.0 में ये बदलाव शामिल हैं.
1.5.0 के बाद हुए अहम बदलाव
Fragmentके सेव किए गए स्टेट को पूरी तरह से दो हिस्सों में बांट दिया गया है: पहला, प्राइवेट लाइब्रेरी स्टेट (कस्टमParcelableक्लास) और दूसरा, डेवलपर की ओर से उपलब्ध कराया गया स्टेट. डेवलपर की ओर से उपलब्ध कराया गया स्टेट, अब हमेशाBundleमें सेव किया जाता है. इससे यह पता लगाया जा सकता है कि फ़्रैगमेंट का स्टेट कहां से आ रहा है.FragmentManager.OnBackStackChangedListenerइंटरफ़ेस को बड़ा किया गया है. इसमेंonBackStackChangeStartedऔरonBackStackChangeCommittedके दो और कॉलबैक जोड़े गए हैं. इन्हें हरFragmentके साथ कॉल किया जाता है. ऐसा तब होता है, जब उन्हें फ़्रैगमेंट बैक स्टैक में जोड़ा/हटाया जाता है और लेन-देन पूरा होने के तुरंत बाद.FragmentStrictModeने एक नयाWrongNestedHierarchyViolationजोड़ा है. यह तब पता लगाता है, जब कोई चाइल्ड फ़्रैगमेंट अपने पैरंट की व्यू हैरारकी में नेस्ट किया गया हो, लेकिन पैरंट केchildFragmentManagerमें न जोड़ा गया हो.FragmentऔरFragmentManagerएपीआई,IntentयाIntentSenderलेते हैं. अब इन्हें@NonNullके साथ सही तरीके से एनोटेट किया गया है, ताकि इनमें शून्य वैल्यू न डाली जा सके. ऐसा इसलिए, क्योंकि शून्य वैल्यू डालने पर, ये तरीके जिन Android फ़्रेमवर्क एपीआई को कॉल करते हैं वे तुरंत क्रैश हो जाते हैं.DialogFragmentअबrequireComponentDialog()एपीआई के ज़रिए,ComponentDialogके डेटा का ऐक्सेस देता है.- फ़्रैगमेंट अब लाइफ़साइकल
2.6.1पर निर्भर करता है. - फ़्रैगमेंट अब SavedState
1.2.1पर निर्भर करता है. - अब फ़्रैगमेंट, ProfileInstaller
1.3.0पर निर्भर करता है. fragment-testing-manifestआर्टफ़ैक्ट, मेनिफ़ेस्ट एंट्री को फ़्रैगमेंट-टेस्टिंग कॉम्पोनेंट से अलग करता है. इसका मतलब है कि ये काम किए जा सकते हैं:debugImplementation("androidx.fragment:fragment-testing-manifest:X.Y.Z") androidTestImplementation("androidx.fragment:fragment-testing:X.Y.Z")इससे
fragment-testingऔरandroidx.testके बीच वर्शन के अंतर की वजह से होने वाले टकराव से बचा जा सकता है
वर्शन 1.6.0-rc01
10 मई, 2023
androidx.fragment:fragment-*:1.6.0-rc01 रिलीज़ हो गया है. वर्शन 1.6.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- इस समस्या को ठीक कर दिया गया है. इसकी वजह से, एक के बाद एक कई
startActivityForResultअनुरोध किए जाने पर, गलत अनुरोध कोड के साथActivityResultभेजे जा रहे थे. (If0b9d, b/249519359) - उस समस्या को ठीक किया गया है जिसमें
onBackStackChangeListenerकॉलबैक, उन लेन-देन के लिए भेजे जा रहे थे जिनसे बैक स्टैक में कोई बदलाव नहीं हुआ था. ऐसा तब हो रहा था, जब उन्हें उन लेन-देन के साथ मिला दिया गया था जिनसे बैक स्टैक में बदलाव होता है. (I0eb5c, b/279306628)
वर्शन 1.6.0-beta01
19 अप्रैल, 2023
androidx.fragment:fragment-*:1.6.0-beta01 रिलीज़ हो गया है. वर्शन 1.6.0-beta01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- टाइमआउट के साथ
postponeEnterTransitionका इस्तेमाल करने और फिर स्थगित किए गए फ़्रैगमेंट को बदलने से, अब स्थगित किए गए फ़्रैगमेंट का डेटा लीक नहीं होता. (I2ec7d, b/276375110) - अब नए
onBackStackChangeStartedऔरonBackStackChangeCommittedकॉलबैक, फ़्रैगमेंट को सिर्फ़ एक बार भेजेंगे. भले ही, कई लेन-देन में एक ही फ़्रैगमेंट शामिल हो. (Ic6b69)
वर्शन 1.6.0-alpha09
5 अप्रैल, 2023
androidx.fragment:fragment-*:1.6.0-alpha09 रिलीज़ हो गया है. वर्शन 1.6.0-alpha09 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
DialogFragmentअबrequireComponentDialog()एपीआई के ज़रिए,ComponentDialogके डेटा का ऐक्सेस देता है. (I022e3, b/234274777)commitNow(),executePendingTransactions(), औरpopBackStackImmediate()एपीआई को@MainThreadके साथ एनोटेट किया गया है. इसका मतलब है कि अब ये सभी एपीआई, रनटाइम पर गड़बड़ी होने का इंतज़ार करने के बजाय, मुख्य थ्रेड से कॉल न किए जाने पर बिल्ड की गड़बड़ियां दिखाएंगे. (Ic9665, b/236538905)
गड़बड़ियां ठीक की गईं
FragmentManagerमें मौजूद एक गड़बड़ी को ठीक किया गया है. इस गड़बड़ी की वजह से, एक ही फ़्रेम में सेव करने और वापस लाने की प्रोसेस के दौरान क्रैश हो सकता था. (Ib36af, b/246519668)OnBackStackChangedListeneronBackStackChangeStartedऔरonBackStackChangeCommittedकॉलबैक अब सिर्फ़ तब लागू होते हैं, जबFragmentManagerबैक स्टैक में बदलाव किया जाता है. (I66055, b/274788957)
वर्शन 1.6.0-alpha08
22 मार्च, 2023
androidx.fragment:fragment-*:1.6.0-alpha08 रिलीज़ हो गया है. वर्शन 1.6.0-alpha08 में ये बदलाव शामिल हैं.
व्यवहार में बदलाव
- फ़्रैगमेंट ऑपरेशन के लागू होने से पहले,
OnBackStackChangedListener.onBackStackChangeCommitedकॉलबैक को लागू करने के लिए, उसके समय में बदलाव किया गया है. इससे यह पक्का होता है कि कॉलबैक को कभी भी ऐसा फ़्रैगमेंट नहीं भेजा जाएगा जो अलग हो गया हो. (I66a76, b/273568280)
गड़बड़ियां ठीक की गईं
- Fragment
1.5.6: इस समस्या को ठीक किया गया है. इसमें, अगरLifecycleपहले से हीSTARTEDथा और कोई नतीजा पहले से ही उपलब्ध था, तोsetFragmentResultListenerके अंदरclearFragmentResultListenerको कॉल करने पर काम नहीं करता था. (If7458)
डिपेंडेंसी से जुड़े अपडेट
- फ़्रैगमेंट अब लाइफ़साइकल
2.6.1पर निर्भर करता है. (586fe7) - फ़्रैगमेंट अब SavedState
1.2.1पर निर्भर करता है. (078e4e) - अब फ़्रैगमेंट, ProfileInstaller
1.3.0पर निर्भर करता है. (3fc05b)
वर्शन 1.6.0-alpha07
8 मार्च, 2023
androidx.fragment:fragment-*:1.6.0-alpha07 रिलीज़ हो गया है. वर्शन 1.6.0-alpha07 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- फ़्रैगमेंट
1.5.6: इस समस्या को ठीक किया गया है. इसमें किसी फ़्रैगमेंट को हटाने पर, गतिविधि का मेन्यू अमान्य हो जाता था. भले ही, उस फ़्रैगमेंट में मेन्यू आइटम जोड़े गए हों या नहीं. (50f098, b/244336571)
वर्शन 1.6.0-alpha06
22 फ़रवरी, 2023
androidx.fragment:fragment-*:1.6.0-alpha06 रिलीज़ हो गया है. वर्शन 1.6.0-alpha06 में ये बदलाव शामिल हैं.
व्यवहार में बदलाव
FragmentManagerकेonBackStackChangedListenerपर मौजूद नयाonBackStackChangedStartedकॉलबैक, अब फ़्रैगमेंट के टारगेट स्टेटस पर जाने से पहले ही एक्ज़ीक्यूट हो जाएगा. (I34726)
वर्शन 1.6.0-alpha05
8 फ़रवरी, 2023
androidx.fragment:fragment-*:1.6.0-alpha05 रिलीज़ हो गया है. वर्शन 1.6.0-alpha05 में ये बदलाव शामिल हैं.
नई सुविधाएं
FragmentManager.OnBackStackChagnedListenerइंटरफ़ेस में अब दो और कॉलबैक,onBackStackChangeStartedऔरonBackStackChangeCommittedउपलब्ध हैं. इनकी मदद से,FragmentManagerमें बैक स्टैक में बदलाव होने पर ज़्यादा जानकारी मिलती है और उसे कंट्रोल किया जा सकता है. (Ib7ce5, b/238686802)
एपीआई में हुए बदलाव
FragmentऔरFragmentManagerएपीआई,IntentयाIntentSenderलेते हैं. अब इन्हें@NonNullके साथ सही तरीके से एनोटेट किया गया है, ताकि शून्य वैल्यू को पास होने से रोका जा सके. ऐसा इसलिए, क्योंकि शून्य वैल्यू हमेशा उन Android फ़्रेमवर्क एपीआई को तुरंत क्रैश कर देती है जिन्हें ये तरीके कॉल करते हैं. (I06fd4)
वर्शन 1.6.0-alpha04
7 दिसंबर, 2022
androidx.fragment:fragment-*:1.6.0-alpha04 रिलीज़ हो गया है. वर्शन 1.6.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
FragmentStrictModeने एक नयाWrongNestedHierarchyViolationजोड़ा है. यह तब पता लगाता है, जब कोई चाइल्ड फ़्रैगमेंट अपने पैरंट की व्यू हैरारकी में नेस्ट किया गया हो, लेकिन पैरंट केchildFragmentManagerमें न जोड़ा गया हो. (I72521, b/249299268)
व्यवहार में बदलाव
- अब फ़्रैगमेंट,
onAttach()से पहले अपनीSavedStateRegistryस्थिति को वापस लाते हैं. इससे यह पक्का होता है कि यह सभी अपवर्ड लाइफ़साइकल के तरीकों से उपलब्ध है. (I1e2b1)
एपीआई में हुए बदलाव
fragment-testing-manifestआर्टफ़ैक्ट, मेनिफ़ेस्ट एंट्री को फ़्रैगमेंट-टेस्टिंग कॉम्पोनेंट से अलग करता है. इसका मतलब है कि ये काम किए जा सकते हैं: