फ़्रैगमेंट

अपने ऐप्लिकेशन को कई स्वतंत्र स्क्रीन में बांटें. ये स्क्रीन, किसी गतिविधि में होस्ट की जाती हैं.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
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 आर्टफ़ैक्ट में अब AndroidFragment Composable शामिल है. इससे फ़्रैगमेंट क्लास के नाम का इस्तेमाल करके, 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 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • नए AndroidFragment Composable की मदद से, फ़्रैगमेंट क्लास के नाम का इस्तेमाल करके, कंपोज़ हेरारकी में फ़्रैगमेंट जोड़े जा सकते हैं. यह फ़्रैगमेंट की स्थिति को सेव करने और वापस लाने की प्रोसेस को अपने-आप मैनेज करता है. इसका इस्तेमाल, AndroidViewBinding Composable की जगह सीधे तौर पर किया जा सकता है.(b/312895363, Icf841)

दस्तावेज़ में बदलाव

  • OnBackStackChangedListener एपीआई के लिए दस्तावेज़ अपडेट किए गए हैं. इनमें बताया गया है कि इन्हें कब कॉल किया जाता है और इनका इस्तेमाल कैसे किया जाना चाहिए. (I0bfd9)

डिपेंडेंसी अपडेट

वर्शन 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 में ये बदलाव शामिल हैं.

डिपेंडेंसी अपडेट

वर्शन 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 में जोड़े गए नए animateToStart API पर निर्भर करता है.

वर्शन 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)
  • OnBackStackChangedListener onBackStackChangeStarted और 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)

डिपेंडेंसी से जुड़े अपडेट

वर्शन 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 आर्टफ़ैक्ट, मेनिफ़ेस्ट एंट्री को फ़्रैगमेंट-टेस्टिंग कॉम्पोनेंट से अलग करता है. इसका मतलब है कि ये काम किए जा सकते हैं: