रीसाइकलरव्यू
इस टेबल में, androidx.recyclerview
ग्रुप के सभी आर्टफ़ैक्ट शामिल हैं.
सह-प्रॉडक्ट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
रीसाइकलरव्यू | 1.3.2 | - | 1.4.0-बीटा01 | - |
रीसाइकलरव्यू-चुनें | 1.1.0 | - | - | 1.2.0-ऐल्फ़ा01 |
डिपेंडेंसी तय करना
RecyclerView पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट. Google की Maven रिपॉज़िटरी पढ़ें हमारा वीडियो देखें.
उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको build.gradle
फ़ाइल में ज़रूरत है
आपका ऐप्लिकेशन या मॉड्यूल:
ग्रूवी
dependencies { implementation "androidx.recyclerview:recyclerview:1.3.2" // For control over item selection of both touch and mouse driven selection implementation "androidx.recyclerview:recyclerview-selection:1.1.0" }
Kotlin
dependencies { implementation("androidx.recyclerview:recyclerview:1.3.2") // For control over item selection of both touch and mouse driven selection implementation("androidx.recyclerview:recyclerview-selection:1.1.0") }
डिपेंडेंसी के बारे में ज़्यादा जानकारी के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको नई समस्याओं का पता चलता है या आपको इस लाइब्रेरी को बेहतर बनाने के लिए आइडिया मिल सकते हैं. कृपया, इस मौजूदा समस्याएं इस लाइब्रेरी में जोड़ें. किसी मौजूदा समस्या के लिए अपना वोट दें. इसके लिए ये तरीके अपनाएं: स्टार बटन पर क्लिक करके ऐसा किया जा सकता है.
समस्या को ट्रैक करने वाले टूल से जुड़ा दस्तावेज़ देखें हमारा वीडियो देखें.
वर्शन 1.4
वर्शन 1.4.0-beta01
21 अगस्त, 2024
androidx.recyclerview:recyclerview:1.4.0-beta01
रिलीज़ हो गया है, जिसमें 1.4.0-alpha02 के बाद से कोई बदलाव नहीं हुआ है. वर्शन 1.4.0-beta01 में ये प्रतिबद्धताएं शामिल हैं.
काम करने वाली जानकारी: इस वर्शन को सिर्फ़ एपीआई 35 (Vanilla Ice Cream) SDK टूल या इसके बाद के वर्शन से ही कंपाइल किया जाएगा. अगर अपग्रेड करते समय आपको एजीपी (Android Gradle प्लग इन) से जुड़ी चेतावनियां दिखती हैं, तो इन्हें हटाया जा सकता है.
वर्शन 1.4.0-alpha02
7 अगस्त, 2024
androidx.recyclerview:recyclerview:1.4.0-alpha02
रिलीज़ हो गया है. वर्शन 1.4.0-alpha02 में ये कमिट मौजूद हैं.
काम करने वाली जानकारी: इस वर्शन को सिर्फ़ एपीआई 35 (Vanilla Ice Cream) SDK टूल या इसके बाद के वर्शन से ही कंपाइल किया जाएगा. अगर अपग्रेड करते समय आपको एजीपी (Android Gradle प्लग इन) से जुड़ी चेतावनियां दिखती हैं, तो इन्हें हटाया जा सकता है.
नई सुविधाएं
- वैरिएबल रीफ़्रेश दर की सुविधा: RecyclerView अब
setFrameContentVelocity
को कॉल करता है. ऐसा तब होता है, जब उसे ओवरस्क्रोलर के ज़रिए स्क्रोल किया जाता है. जैसे, फ़्लिंग या स्मूद स्क्रोल से सेट करना. (I8f8a4)
एपीआई में किए गए बदलाव
- अब काम नहीं करने वाले
ViewCompat.LAYOUT_DIRECTION_
एपीआई (I51710, b/317055535) RecyclerView$LayoutManager#isLayoutReversed
एपीआई जोड़ें. (I4970e)
दूसरे बदलाव
- नए प्लैटफ़ॉर्म एपीआई के ऐक्सेस की मैन्युअल आउटलाइन हटाई गई. ऐसा इसलिए, क्योंकि AGP 7.3 या उसके बाद के वर्शन (जैसे कि R8 वर्शन 3.3) के साथ R8 का इस्तेमाल करने पर और एजीपी 8.1 या उसके बाद के वर्शन (जैसे कि D8 वर्शन 8.1) के साथ, R8 का इस्तेमाल करने पर ऐसा अपने-आप होता है. जो क्लाइंट एजीपी का इस्तेमाल नहीं कर रहे हैं उन्हें D8 के 8.1 या इसके बाद के वर्शन पर अपडेट करने की सलाह दी जाती है. ज़्यादा जानकारी के लिए यह लेख देखें. (Ia60e0, b/345472586)
RecyclerView
बाइंड करें/ट्रैक बनाएं सेक्शन में आइटम व्यू का टाइप जोड़ें. साथ ही, आरवी प्रीफ़ेच को 'फ़ोर्स किया गया - अगले फ़्रेम की ज़रूरत है' के तौर पर लेबल करें अगर उन्हें अगले फ़्रेम में इस्तेमाल किए जाने की उम्मीद है और इसलिए उन्हें जल्द से जल्द काम करना शुरू कर देना चाहिए. (I8ec3e, b/309523615)compileSdk
को 35 पर अपडेट करें (ज़्यादा जानकारी के लिए, ऊपर दिया गया "कंपैटबिलिटी नोट" देखें). 5dc41be
बाहरी योगदान
GestureDetectorCompat
अब काम नहीं करता, क्योंकिminSdk
मेंGestureDetector
उपलब्ध है. (Icc4cd)
वर्शन 1.4.0-alpha01
18 अक्टूबर, 2023
androidx.recyclerview:recyclerview:1.4.0-alpha01
रिलीज़ हो गया है. वर्शन 1.4.0-alpha01 में ये कमियां हैं.
एपीआई में किए गए बदलाव
RecyclerView$LayoutManager#isLayoutReversed
एपीआई जोड़ें. (I4970e)
गड़बड़ियां ठीक की गईं
- ऐनिमेशन (I42f22b) (1.3.2 में भी शामिल) के दौरान अनियमित क्रैश होने की गड़बड़ी को ठीक किया गया
वर्शन 1.3.2
वर्शन 1.3.2
18 अक्टूबर, 2023
androidx.recyclerview:recyclerview:1.3.2
रिलीज़ हो गया है. वर्शन 1.3.2 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
- ऐनिमेशन के दौरान अनियमित रूप से क्रैश होने वाली गड़बड़ी को ठीक किया गया है. (I42f22b)
वर्शन 1.3.1
वर्शन 1.3.1
26 जुलाई, 2023
androidx.recyclerview:recyclerview:1.3.1
रिलीज़ हो गया है. इसमें 1.3.1-rc01 के बाद से कोई बदलाव नहीं किया गया है. वर्शन 1.3.1 में ये कमियां शामिल हैं.
पिछली रिलीज़ के रिलीज़ नोट देखने के लिए, हमारे रिलीज़ नोट पेज पर जाएं
वर्शन 1.3.1-rc01
24 मई, 2023
androidx.recyclerview:recyclerview:1.3.1-rc01
रिलीज़ हो गया है. वर्शन 1.3.1-rc01 में ये कमियां शामिल हैं.
क्रैश से बचने के लिए, RecyclerView
के इस वर्शन में अपडेट करते समय, ViewPager2 के उपयोगकर्ताओं को कम से कम 1.1.0-beta02 पर अपडेट करना होगा.
एपीआई में किए गए बदलाव
setDebugAssertionsEnabled
औरsetVerboseLoggingEnabled
के ऐसे नए तरीके जोड़ें जिनसे ऐप्लिकेशन मेंRecyclerView
से जुड़ी समस्याओं को डीबग करने में मदद मिल सके. (I514b9)
गड़बड़ियां ठीक की गईं
onBind
को कॉल करने पर, कुछ समय के लिए डिटैच किए गए व्यू को कुछ समय के लिए फिर से अटैच करके,ViewTreeLifecycleOwner
(ComposeView
सहित) के उपयोगकर्ताओं के लिए, ऐप्लिकेशन के क्रैश होने की समस्या ठीक की जा सकती है. (I7244f2c, b/265347515, b/283288295)
वर्शन 1.3.0
वर्शन 1.3.0
8 मार्च, 2023
androidx.recyclerview:recyclerview:1.3.0
रिलीज़ हो गया है. इसमें 1.3.0-rc01 के बाद से कोई बदलाव नहीं किया गया है. वर्शन 1.3.0 में ये कमियां शामिल हैं.
01.2.0 के बाद से हुए अहम बदलाव
- इस रिलीज़ में Jetpack Compose के साथ इस्तेमाल किए जाने पर परफ़ॉर्मेंस में सुधार किए गए हैं. पहले ये सुधार 1.3.0-alpha02 और 1.3.0-beta01 में शामिल थे. अगर आपने कंपोज़
1.2.0-beta02
या इसके बाद के वर्शन का इस्तेमाल किया है और इंटरऑपरेबिलिटी के पिछले दिशा-निर्देशों में बताए गएMyComposeAdapter
औरDisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
का इस्तेमाल किया जा रहा है, तो आपको इन्हें हटा देना चाहिए, क्योंकि यह डिफ़ॉल्ट स्थिति के मुकाबले बेहतर नहीं है. SpanSizeLookup
(I2bd4c, b/191543920) जैसी स्थितियों में, रैप किए गए अडैप्टर की जानकारी को वापस पाने के लिए,ConcatAdapter.getWrappedAdapterAndPosition
का नया तरीका जोड़ा गया है. ऐसा उन स्थितियों में किया जा सकता है जब आपके पासViewHolder
न हो
वर्शन 1.3.0-rc01
21 सितंबर, 2022
androidx.recyclerview:recyclerview:1.3.0-rc01
रिलीज़ हो गया है. वर्शन 1.3.0-rc01 में ये कमिट हैं.
- पिछली बार रिलीज़ होने के बाद से कोई बदलाव नहीं किया गया है
वर्शन 1.3.0-beta02
10 अगस्त, 2022
androidx.recyclerview:recyclerview:1.3.0-beta02
रिलीज़ हो गया है. वर्शन 1.3.0-beta02 में ये कमिट हैं.
एपीआई में किए गए बदलाव
- 1.3.0-beta01 में जोड़े गए उन अमान्य एनोटेशन को हटाया गया जिनकी वजह से, Kotlin के उपयोगकर्ताओं (I7a258,I1557e6,I8db76) के लिए, सोर्स के साथ काम न करने वाले अहम बदलाव दिख रहे थे
वर्शन 1.3.0-beta01
29 जून, 2022
androidx.recyclerview:recyclerview:1.3.0-beta01
रिलीज़ हो गया है. वर्शन 1.3.0-beta01 में ये कमिट हैं.
नई सुविधाएं
- इस बीटा रिलीज़ में परफ़ॉर्मेंस को बेहतर बनाया गया है (पहले इसे Jetpack Compose के साथ इस्तेमाल करते समय 1.3.0-alpha02 में शामिल किया गया था. अगर आपने कंपोज़
1.2.0-beta02
या इसके बाद के वर्शन का इस्तेमाल किया है और इंटरऑपरेबिलिटी के पिछले दिशा-निर्देशों में बताए गएMyComposeAdapter
औरDisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
का इस्तेमाल किया जा रहा है, तो आपको इन्हें हटा देना चाहिए, क्योंकि यह डिफ़ॉल्ट स्थिति के मुकाबले बेहतर नहीं है.
एपीआई में किए गए बदलाव
- Java उपयोगकर्ताओं के लिए लिंट चेतावनियों और Kotlin उपयोगकर्ताओं के लिए इंटरऑपरेबिलिटी को बेहतर बनाने के लिए, कई तरीकों और पैरामीटर के लिए, शून्य के असर वाले एनोटेशन जोड़े गए. यह कुछ Kotlin उपयोगकर्ताओं के लिए, बहुत बड़ा बदलाव हो सकता है. साथ ही, इसकी वजह से Java का इस्तेमाल करने वाले कुछ उपयोगकर्ताओं के लिए, लिंट से जुड़ी चेतावनियां/गड़बड़ियां भी हो सकती हैं. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)
गड़बड़ियां ठीक की गईं
- a11y नोड की जानकारी वाले क्लास का नाम सेट करके, पक्का करें कि a11y सेवाओं के तहत ग्रिड को ग्रिड माना जाए. (I12812)
वर्शन 1.3.0-alpha02
6 अप्रैल, 2022
androidx.recyclerview:recyclerview:1.3.0-alpha02
रिलीज़ हो गया है. वर्शन 1.3.0-alpha02 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- आने वाले समय में इस्तेमाल किए जाने वाले SDK टूल के लिए, प्रयोग के तौर पर
BuildCompat
तरीके जोड़े जाते हैं (Iafd82, b/207528937) SpanSizeLookup
(I2bd4c, b/191543920) जैसे जब आपके पास ViewHolder नहीं है, तो रैप किए गए अडैप्टर की जानकारी पाने के लिए,ConcatAdapter.getWrappedAdapterAndPosition
का नया तरीका जोड़ा गया है
गड़बड़ियां ठीक की गईं
- नई AndroidX PoolingContainer लाइब्रेरी (Ib89d2) के साथ इंटिग्रेशन
- सुलभता कार्रवाई के लिए स्क्रोल की दूरी को अडजस्ट करता है (If74ae)
वर्शन 1.3.0-alpha01
15 सितंबर, 2021
androidx.recyclerview:recyclerview:1.3.0-alpha01
रिलीज़ हो गया है. वर्शन 1.3.0-alpha01 में ये कमियां हैं.
नई सुविधाएं
- स्ट्रेच ओवरस्क्रोल RecyclerView के लिए सहायता जोड़ी गई. (Iab877)
RecyclerView-Selection वर्शन 1.2.0
वर्शन 1.2.0-alpha01
5 मई, 2021
androidx.recyclerview:recyclerview-selection:1.2.0-alpha01
रिलीज़ हो गया है. वर्शन 1.2.0-alpha01 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जहां एंट्री रीसाइकल नहीं किए जाने के दौरान, KeyProvider में कुंजी/स्थिति की मैपिंग खो गई थी. (b/145767095)
वर्शन 1.2.1
वर्शन 1.2.1
2 जून, 2021
androidx.recyclerview:recyclerview:1.2.1
रिलीज़ हो गया है. वर्शन 1.2.1 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
- अब
ConcatAdapter
में मौजूदViewHolder
सेonViewRecycled
कॉलबैक में क्वेरी किए जाने पर, अडैप्टर की सही पोज़िशन दिखती है. (b/187339376)
वर्शन 1.2.0
वर्शन 1.2.0
7 अप्रैल, 2021
androidx.recyclerview:recyclerview:1.2.0
रिलीज़ हो गया है. वर्शन 1.2.0 में ये कमियां शामिल हैं.
1.1.0 से अब तक के बड़े बदलाव
ConcatAdapter: यह नया अडैप्टर, आपको एक ही RecyclerView पर कई अडैप्टर को आसानी से जोड़ने की सुविधा देता है. ज़्यादा जानकारी के लिए, ब्लॉग पोस्ट पढ़ें.
- इस बदलाव के तहत,
ViewHolder.getAdapterPosition
अब काम नहीं करता. इसे दो नए तरीकों से बदल दिया गया है:- getBindingAdapterPosition, उस आइटम को बाइंड करने वाले अडैप्टर के हिसाब से पोज़िशन दिखाता है.
- getTotalAdapterPosition पूरे RecyclerView की तुलना में पोज़िशन दिखाता है.
लेज़ी स्टेट रीस्टोरेशन: RecyclerView अडैप्टर, अब स्थिति को पहले जैसा करने में देरी कर सकता है. यह प्रोसेस तब तक जारी रहेगी, जब तक इसका कॉन्टेंट लोड नहीं हो जाता. ज़्यादा जानकारी के लिए, दस्तावेज़ देखें.
वर्शन 1.2.0-rc01
24 मार्च, 2021
androidx.recyclerview:recyclerview:1.2.0-rc01
रिलीज़ हो गया है. वर्शन 1.2.0-rc01 में ये कमिट शामिल हैं.
गड़बड़ियां ठीक की गईं
ConcatAdapter.Config.Builder
के पास अबConfig.DEFAULT
(b/157169835) से मेल खाने वाली डिफ़ॉल्ट वैल्यू हैं
वर्शन 1.2.0-beta02
24 फ़रवरी, 2021
androidx.recyclerview:recyclerview:1.2.0-beta02
रिलीज़ हो गया है. वर्शन 1.2.0-beta02 में ये तय किए गए हिस्से शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक कर दिया गया है जहां ऊपरी पैडिंग की वजह से दाईं ओर की ओवरस्क्रोल की चमक, पैड किए हुए हिस्से में ऊपर की ओर जा रही थी, न कि पैडिंग को ध्यान में रखते हुए. (I6b61d, b/118399122)
वर्शन 1.2.0-beta01
2 दिसंबर, 2020
androidx.recyclerview:recyclerview:1.2.0-beta01
रिलीज़ हुई है. इसमें 1.2.0-alpha06
से कोई बदलाव नहीं किया गया है. वर्शन 1.2.0-beta01 में ये कमिट मौजूद हैं.
वर्शन 1.2.0-alpha06
1 अक्टूबर, 2020
androidx.recyclerview:recyclerview:1.2.0-alpha06
रिलीज़ हो गया है. वर्शन 1.2.0-alpha06 में ये कमियां हैं.
नई सुविधाएं
- कई RecyclerListeners को जोड़ने के लिए सहायता जोड़ी गई. (I70ad8, b/145767095)
एपीआई में किए गए बदलाव
- बंद किया गया RecyclerView.setRecyclerListener(RecyclerListener). (I70ad8, b/145767095)
वर्शन 1.2.0-alpha05
22 जुलाई, 2020
androidx.recyclerview:recyclerview:1.2.0-alpha05
रिलीज़ हो गया है. वर्शन 1.2.0-alpha05 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- अगर RecyclerView में सिर्फ़ एक आइटम होता है और वह फ़ोकस में होता है, तो उस समस्या को हल कर दिया गया है. इससे आगे या पीछे की ओर फ़ोकस नहीं किया जा सकेगा. (6f36b3)
StaggeredGridLayoutManager
(49b601, b/122303625, b/74877618, b/160193663, b/37086625) मेंArrayIndexOutOfBoundsException
को ठीक किया गया- मेज़रमेंट से जुड़ी एक गड़बड़ी को ठीक किया गया है. हालांकि, कुछ खास मामलों में RecyclerView पर दिखने वाला, बच्चों के बच्चे की प्रोफ़ाइल नहीं दिखाता है. (89040c, b/138734786)
बाहरी योगदान
- योगदान के लिए Facebook की ओर से, कोलिन क्रेविंकेल का धन्यवाद!
वर्शन 1.2.0-alpha04
24 जून, 2020
androidx.recyclerview:recyclerview:1.2.0-alpha04
रिलीज़ हो गया है. वर्शन 1.2.0-alpha04 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- डेटा मर्ज करने के अलग-अलग तरीके (c0540c, b/158019211) से जुड़ी भ्रम की स्थिति से बचने के लिए,
MergeAdapter
का नाम बदलकरConcatAdapter
कर दिया गया है.
गड़बड़ियां ठीक की गईं
- दिखने वाले सभी आइटम हटा दिए जाने पर, अपने-आप स्क्रोल होने की सुविधा में सुधार (fe8670, b/154124815)
वर्शन 1.2.0-alpha03
29 अप्रैल, 2020
androidx.recyclerview:recyclerview:1.2.0-alpha03
रिलीज़ हो गया है. वर्शन 1.2.0-alpha03 में ये कमियां हैं.
नई सुविधाएं
- RecyclerView में अब
nestedScrollBy
का तरीका मौजूद है. यह प्रोग्रैम्ड तरीके से स्क्रोल करने की सुविधा देता है, जो नेस्ट किए गए स्क्रोल के साथ काम करती है: (Ibaa58)
वर्शन 1.2.0-alpha02
1 अप्रैल, 2020
androidx.recyclerview:recyclerview:1.2.0-alpha02
रिलीज़ हो गया है. वर्शन 1.2.0-alpha02 में ये कमियां हैं.
RecyclerView का यह और उसके बाद का वर्शन, ViewPager2 के पुराने वर्शन के साथ काम नहीं करता. अगर आप अभी androidx.viewpager2:viewpager2:1.0.0
या इससे पहले के वर्शन का इस्तेमाल कर रहे हैं, तो androidx.viewpager2:viewpager2:1.1.0-alpha01
पर अपडेट करना न भूलें.
नई सुविधाएं
Merge अडैप्टर
- MergeAdapter: यह एक नया RecyclerView अडैप्टर होता है जो कई अडैप्टर को लीनियर तरीके से आपस में जोड़ता है.
MyAdapter adapter1 = ...; AnotherAdapter adapter2 = ...; MergeAdapter merged = new MergeAdapter(adapter1, adapter2); recyclerView.setAdapter(mergedAdapter);
ऊपर दिए गए नमूने के लिए, MergeAdapter
adapter1
के बादadapter2
के आइटम पेश करेगा.RecyclerView.Adapter
लेज़ी स्टेट रीस्टोरेशन:RecyclerView.Adapter
क्लास में एक नया एपीआई जोड़ा गया. यह अडैप्टर को यह कंट्रोल करने की अनुमति देता है कि लेआउट के स्टेटस को कब वापस लाया जाए.उदाहरण के लिए, आपके पास इन्हें कॉल करने की सुविधा है:
myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
जब तक अडैप्टर खाली न हो, तब तक स्क्रोल करने की जगह को पहले जैसा करने से पहले RecyclerView को इंतज़ार करें.
CollectionInfo और collectionsItemInfo को अब डिफ़ॉल्ट रूप से अपने-आप नहीं भरा जाएगा.
अगर आपको सुलभता सेवाएं (उदाहरण के लिए, टॉकबैक) की सुविधा का इस्तेमाल करके, लोगों को आइटम की संख्या और इंडेक्स के बारे में जानकारी देनी है, तो आपको collectionsInfo और collectionsItemInfo को खुद ही पॉप्युलेट करना होगा.
इन ऑब्जेक्ट को अब फ़्रेमवर्क में नहीं भरा जाता है, क्योंकि उपयोगकर्ता को महसूस हुए आइटम की संख्या को फ़्रेमवर्क नहीं समझ सकता. जैसे, सेपरेटर, हेडर या RecyclerView ऐसे आइटम जो एक से ज़्यादा पर्सीव्ड आइटम दिखाते हैं.
गड़बड़ियां ठीक की गईं
- व्यूपोर्ट का साइज़ बदलने पर, RecyclerView अब व्यूपोर्ट के बाहर के व्यू पर ऐंकरिंग से बचाता है
- DiffUtil में गड़बड़ी को ठीक किया गया. यह गड़बड़ी तब दिख सकती है, जब पहली सूची में मौजूद किसी ओरिजनल आइटम को दूसरी सूची में कई बार डुप्लीकेट किया गया हो. (b/123376278)
वर्शन 1.2.0-alpha01
18 दिसंबर, 2019
androidx.recyclerview:recyclerview:1.2.0-alpha01
रिलीज़ हो गया है. वर्शन 1.2.0-alpha01 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- आरटीएल ड्रॉइंग और टच सटीक (b/143789932, aosp/1130438) से जुड़ी फ़ास्ट स्क्रोलर की छोटी-मोटी समस्याओं को ठीक किया गया
- आइटम TouchHelper ऐनिमेशन के चलने के दौरान, itemTouchHelper में जा सकते हैं (b/140447176, aosp/1167575)
वर्शन 1.1.0
वर्शन 1.1.0
20 नवंबर, 2019
androidx.recyclerview:recyclerview:1.1.0
रिलीज़ हो गया है. वर्शन 1.1.0 में ये कमियां शामिल हैं.
1.0.0 के बाद के अहम बदलाव
clipToPadding
(b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/1130728) की परवाह किए बिना, अबPagerSnapHelper
औरLinearSnapHelper
RecyclerView की पैडिंग (जगह) लेते हैंRecyclerView.setLayoutTransition(LayoutTransition)
को औपचारिक रूप से रोक दिया गया है. अगर वैल्यू को शून्य के अलावा कोई और वैल्यू के साथ कॉल किया जाता है, तोIllegalArgumentException
गड़बड़ी दिखाएगा. इसके बजाय,RecyclerView.setItemAnimator(ItemAnimator)
का इस्तेमाल करें. (aosp/839414)- aosp/723649: RecyclerView पर अब
NestedScrollingChild3
लागू होता है. इससे यह सूचना मिलती है कि नेस्ट किए गए स्क्रोलिंग पैरंट ने कब नेस्ट की गई स्क्रोलिंग दूरी का इस्तेमाल करना बंद कर दिया है. अगर डेवलपर कोड फ़िलहालRecyclerView.onNestedScroll(View, int, int, int, int, int)
को बदलता है, तो हो सकता है कि उसे कॉल न किया जाए और इसके बजायRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
को बदल दिया जाए. - RecyclerView में अब एक डिफ़ॉल्ट स्टाइल एट्रिब्यूट है:
recyclerViewStyle
. इससे, थीम में डिफ़ॉल्ट स्टाइल सेट करने की सुविधा मिलती है - ViewCompat की सुलभता सुविधाओं से जुड़ी कार्रवाइयों का एपीआई अब RecyclerViewItemDelegate को काम नहीं करता है.
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
को यह पसंद के मुताबिक बदला जा सकता है कि इससे जुड़े RecyclerView के दोनों ओर कितना अतिरिक्त लेआउट स्पेस होना चाहिए. (aosp/931259)- smoothscrollBy:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
का एक नया ओवरलोड जोड़ा गया, जो आपको मिलीसेकंड में अवधि तय करने की अनुमति देता है. यह तय करने की अनुमति मिलती है कि ऐनिमेशन में कितना समय लगना चाहिए. (aosp/952807)
वर्शन 1.1.0-rc01
23 अक्टूबर, 2019
androidx.recyclerview:recyclerview:1.1.0-rc01
रिलीज़ हो गया है. वर्शन 1.1.0-rc01 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
- "ऐप्लिकेशन काम नहीं कर रहा है" समस्या को ठीक किया गया
RecyclerViewAccessibilityDelegate.ItemDelegate
को ओवरराइड करते समय (aosp/1138057, aosp/1133434)
वर्शन 1.1.0-beta05
9 अक्टूबर, 2019
androidx.recyclerview:recyclerview:1.1.0-beta05
रिलीज़ हो गया है. वर्शन 1.1.0-beta05 में ये कमिट हैं.
एपीआई में किए गए बदलाव
- aosp/1106715 और aosp/1103182 के हिसाब से, अब लीनियरस्नैप हेल्पर और PagerSnapHelper, RecyclerView की सीमाओं के बीच में मौजूद व्यू को दिखाएंगे. हालांकि, इसमें क्लिपबोर्ड की वैल्यू घटा दी जाएगी. (aosp/1130728)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसकी वजह से RecyclerView, RecyclerView के बच्चों के लिए डुप्लीकेट सुलभता नोड जनरेट कर रहा था. (aosp/1130618)
- RecyclerViews में वर्चुअल सुलभता की हैरारकी में काम न करने की समस्या को ठीक किया गया है.
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से, CustomItemDelegate का इस्तेमाल नहीं किया गया था.
वर्शन 1.1.0-beta04
5 सितंबर, 2019
androidx.recyclerview:recyclerview:1.1.0-beta04
रिलीज़ हो गया है. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.
गड़बड़ियां ठीक की गईं
clipToPadding
(b/139452422, b/139012032, aosp/1103182, aosp/1106715) की वैल्यू चाहे जो भी हो,PagerSnapHelper
औरLinearSnapHelper
अब RecyclerView की पैडिंग (जगह) लेते हैं- उस गड़बड़ी को ठीक किया गया है जिसमें नेस्ट किए गए प्री-स्क्रोलिंग की वजह से
NestedScrollingParent
को स्क्रोल करने पर RecyclerView ने टच इंटरसेप्ट को अनुमति नहीं दी थी (b/138668210, aosp/1105373). इससे ViewPager2 जैसी लाइब्रेरी को फ़ायदा मिलता है. - RecyclerView अब नेस्ट किए गए प्री स्क्रोल को भेजने से पहले लगातार
SCROLL_STATE_DRAGGING
पर जाता है (aosp/1105373) - जेस्चर के टच स्लोप (b/139530818, aosp/1105373) से ज़्यादा होने से पहले नेस्ट की गई प्री-स्क्रोलिंग नहीं की जाती
- जब RecyclerView को उस दिशा में स्क्रोल नहीं किया जा सकता, तब नेस्ट किए गए प्री-स्क्रोल में भेजे गए
dx
औरdy
आर्ग्युमेंट शून्य हो जाते हैं (aosp/1105373)
वर्शन 1.1.0-beta03
15 अगस्त, 2019
androidx.recyclerview:recyclerview:1.1.0-beta03
रिलीज़ हो गया है. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.
एपीआई में किए गए बदलाव
- RecyclerView, अब
View.onScrollChanged(int l, int t, int oldl, int oldt)
के ज़रिए स्क्रोल की दूरी को डिस्पैच करता है. इससे सुलभता सेवाओं को स्क्रोल में होने वाले बदलावों के बारे में सटीक सूचना मिलती है. (aosp/1007823)
गड़बड़ियां ठीक की गईं
- RecyclerView और सुलभता से जुड़ी, एक बड़ी गड़बड़ी स्टैक ओवरफ़्लो गड़बड़ी को ठीक किया गया. (aosp/1099577)
वर्शन 1.1.0-beta02
7 अगस्त, 2019
androidx.recyclerview:recyclerview:1.1.0-beta02
रिलीज़ हो गया है. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.
नई सुविधाएं
- RecyclerView में अब एक डिफ़ॉल्ट स्टाइल एट्रिब्यूट है:
recyclerViewStyle
. इससे, थीम में डिफ़ॉल्ट स्टाइल सेट करने की सुविधा मिलती है
गड़बड़ियां ठीक की गईं
- एक गड़बड़ी को ठीक किया गया, जहां RecyclerView ने स्क्रोल करते समय टच इंटरसेप्ट को अनुमति नहीं दी थी. इसकी वजह से, Nestedस्क्रोल करने वाली माता-पिता को स्क्रोल करना पड़ा. (b/131115697, aosp/1055911)
वर्शन 1.1.0-beta01
2 जुलाई, 2019
androidx.recyclerview:recyclerview:1.1.0-beta01
रिलीज़ हो गया है. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.
नई सुविधाएं
- जब सुलभता इवेंट से स्क्रोल करना शुरू किया जाता है, तब
RecyclerView
अब नेस्ट की गई स्क्रोलिंग में हिस्सा लेता है. (aosp/973584)
वर्शन 1.1.0-alpha06
5 जून, 2019
androidx.recyclerview:recyclerview:1.1.0-alpha06
और androidx.recyclerview:recyclerview-selection:1.1.0-alpha06
रिलीज़ हुई हैं. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.
नई सुविधाएं
- smoothscrollBy:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
का एक नया ओवरलोड जोड़ा गया, जो आपको मिलीसेकंड में अवधि तय करने की अनुमति देता है. यह तय करने की अनुमति मिलती है कि ऐनिमेशन में कितना समय लगना चाहिए. (aosp/952807)
एपीआई में किए गए बदलाव
GridLayoutManager
औरStaggeredGridLayoutManager
अब सुलभता के मकसद से, पूरे स्पैन आइटम को हेडर के तौर पर अपने-आप लेबल नहीं करेंगे (aosp/969703)recyclerview-selection
(aosp/937279) में चुनने का क्रम (बनाए जाने के समय के हिसाब से) सुरक्षित रखें
गड़बड़ियां ठीक की गईं
- नेस्ट की गई स्क्रोल करने की स्थिति में
RecyclerView
गलत रफ़्तार के साथ बढ़ रहा था, गड़बड़ी को ठीक किया गया है. (aosp/961642) recyclerview-selection
(aosp/960213, aosp/926296) में स्थिरता से जुड़े सुधार जोड़े गए
वर्शन 1.1.0-alpha05
7 मई, 2019
androidx.recyclerview:recyclerview:1.1.0-alpha05
और androidx.recyclerview:recyclerview-selection:1.1.0-alpha05
रिलीज़ हुई हैं. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.
नई सुविधाएं
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
को यह पसंद के मुताबिक बदला जा सकता है कि इससे जुड़े RecyclerView के दोनों ओर कितना अतिरिक्त लेआउट स्पेस होना चाहिए. (aosp/931259)
एपीआई में किए गए बदलाव
- ड्रॉएबल
DividerItemDecoration
की जानकारी वापस पाने के लिए, एपीआई जोड़ें (aosp/937282) LinearLayout.getExtraLayoutSpace(RecyclerVew.State)
का इस्तेमाल, एक नया तरीका के लिए करें. इससे, दोनों तरफ़ कस्टम अतिरिक्त लेआउट के लिए स्पेस बनाया जा सकता है. नया तरीकाLinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[])
है (aosp/931259)
गड़बड़ियां ठीक की गईं
- हाथ के जेस्चर से चुने गए जेस्चर को हटाया गया (aosp/940781)
- चुने गए क्रम को बनाए रखें (बनाने के समय के मुताबिक) (b/128455535)
वर्शन 1.1.0-alpha04
3 अप्रैल, 2019
androidx.recyclerview:recyclerview:1.1.0-alpha04
रिलीज़ हो गया है. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.
गड़बड़ियां ठीक की गईं
- RV OnItemTouchListener पहले ACTION_UP पर इंटरसेप्ट नहीं कर सका था, जिसकी वजह से OnItemTouchListener अन्य कोड को ACTION_UP की प्रतिक्रिया नहीं दे रहा था. अब यह समस्या ठीक कर दी गई है: (aosp/916137)
वर्शन 1.1.0-alpha03
13 मार्च, 2019
androidx.recyclerview:recyclerview:1.1.0-alpha03
रिलीज़ हो गया है. इस वर्शन में शामिल कमिट की पूरी सूची यहां देखी जा सकती है.
नई सुविधाएं
GridLayoutManager
: ऑप्ट-इन करें, ज़्यादा रिज़ॉल्यूशनGridLayoutManager
स्क्रोल बार डाइमेंशन अनुमान (aosp/838836):- यह
GridLayoutManager
के लिए स्क्रोल बार के डाइमेंशन का अनुमान लगाने के लिए, स्पैन की जानकारी का इस्तेमाल करता है. - चालू करने के लिए,
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
पासिंग को 'सही' पर कॉल करें. - ज़्यादा जानकारी के लिए,
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
पर दस्तावेज़ देखें.
- यह
गड़बड़ियां ठीक की गईं
- सुलभता: एक गड़बड़ी थी जिसमें ViewHolder को रीसाइकल करने के बाद, फिर से रिबाउंड किया जा सकता था. ऐसा होने पर, RecyclerView के
RecyclerViewAccessibilityDelegate
से जुड़ा itemDelegate, ViewHolder के itemView से असोसिएट नहीं होता. इससे, सुलभता पर असर पड़ता है. अब यह समस्या ठीक कर दी गई है (aosp/917740).
वर्शन 1.1.0-alpha02
30 जनवरी, 2019
androidx.recyclerview:recyclerview 1.1.0-alpha02
रिलीज़ हो गया है.
एपीआई में किए गए बदलाव
RecyclerView.setLayoutFrozen(boolean)
औरRecyclerView.isLayoutFrozen()
नेRecyclerView.suppressLayout(boolean)
औरRecyclerView.isLayoutSuppressed()
के पक्ष में रोक लगा दी है. (aosp/839414)RecyclerView.setLayoutTransition(LayoutTransition)
को औपचारिक रूप से रोक दिया गया है. अगर वैल्यू को शून्य के अलावा कोई और वैल्यू के साथ कॉल किया जाता है, तोIllegalArgumentException
गड़बड़ी दिखाएगा. (aosp/839414)
गड़बड़ियां ठीक की गईं
- आरवी में
SmoothScroller
की गड़बड़ी को ठीक करें (aosp/843741) - गड़बड़ी ठीक की गई जहां स्क्रोलिंग ऐनिमेशन के आखिर में, शायद
SCROLL_STATE_IDLE
को कॉल न किया जा सके. (aosp/812576)
वर्शन 1.1.0-alpha01
3 दिसंबर, 2018
androidx.recyclerview 1.1.0-alpha01
और androidx.recyclerview-selection 1.1.0-alpha01
रिलीज़ हुई हैं.
androidx.recyclerview 1.1.0-alpha01
एपीआई में किए गए बदलाव
- aosp/723649: RecyclerView पर अब
NestedScrollingChild3
लागू होता है. इससे यह सूचना मिलती है कि नेस्ट किए गए स्क्रोलिंग पैरंट ने कब नेस्ट की गई स्क्रोलिंग दूरी का इस्तेमाल करना बंद कर दिया है. अगर डेवलपर कोड फ़िलहालRecyclerView.onNestedScroll(View, int, int, int, int, int)
को बदलता है, तो हो सकता है कि उसे कॉल न किया जाए और इसके बजायRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
को बदल दिया जाए.
गड़बड़ियां ठीक की गईं
RecyclerView
(b/37129527) में आइटम को छोटा/बड़ा करने के लिएTransitionManager
का इस्तेमाल करने पर होने वाले क्रैश की समस्या ठीक की गई.- उस बग को ठीक किया गया जहां
RecyclerView.OnItemTouchListener
का व्यवहार व्यू सिस्टम केonInterceptTouchEvent
औरonTouchEvent
व्यवहार (aosp/721235) के साथ संगत नहीं था - आसानी से स्क्रोल करने (aosp/729718, aosp/747168, aosp/812576) से जुड़ी किनारे वाली कुछ केस गड़बड़ियों को ठीक किया गया
- बच्चों को मिले सामान्य व्यू से निपटने के लिए,
PagerSnapHelper
में स्नैप रणनीति तय की गई (aosp/795752)
androidx.recyclerview-selection 1.1.0-alpha01
गड़बड़ियां ठीक की गईं
- डेटा सेट को हटाने की सुविधा के साथ बदलने पर,
ConcurrentModificationException
गड़बड़ी ठीक की गई चुनें.
RecyclerView-Selection वर्शन 1.1.0
RecyclerView-Selection वर्शन 1.1.0
27 जनवरी, 2021
androidx.recyclerview:recyclerview-selection:1.1.0
रिलीज़ हो गया है. वर्शन 1.1.0 में ये कमियां शामिल हैं.
1.0.0 के बाद से हुए बड़े बदलाव
- स्थिरता में कई सुधार किए गए हैं.
SelectionTracker.Builder
परwithGestureTooltypes
औरwithPointerTooltypes
तरीके अब काम नहीं करते. इन तरीकों को आने वाली रिलीज़ में हटा दिया जाएगा.
RecyclerView-Selection वर्शन 1.1.0-rc03
1 अक्टूबर, 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc03
रिलीज़ हो गया है. वर्शन 1.1.0-rc03 में ये कमिट शामिल हैं.
गड़बड़ियां ठीक की गईं
बदलावों की जांच करने और सुझाव देने के लिए, स्टीफ़न कीसलर को धन्यवाद.
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से चालू विकल्प चुनने के दौरान चाइल्ड व्यू OnClickListeners को अचानक कॉल किया गया था.
- माउस हैंडलर (बैंड-चुनना) > अनचाहे स्क्रोल आसानी से हैंडल करें. (b/167821507)
RecyclerView-Selection वर्शन 1.1.0-rc02
2 सितंबर, 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc02
रिलीज़ हो गया है. वर्शन 1.1.0-rc02 में ये कमिट हैं.
हाइलाइट
- इनपुट हैंडलिंग में 1.0 से कई रिग्रेशन का समाधान किया है.
onRequestDisallowInterceptTouchEvent
के लिए लाइब्रेरी को अपडेट किया गया, ताकि यह itemTouchHelper के साथ आसानी से चल सके (बस इसे स्वाइप करके हटा दें!).
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से, चुनी गई लाइब्रेरी में
GestureDetector
इवेंट को गलत तरीके से समझा गया था. इस समस्या की वजह से, फ़ाइलें चालू करते समय टैप करने की सुविधा बंद हो गई थी (b/165030422) - अडैप्टर से हटाए गए आइटम की जानकारी देने के लिए, चुने गए हिस्से को अपडेट नहीं किए जाने की समस्या को ठीक कर दिया गया है. (b/138932671)
- सिलेक्टर के विकल्प के चालू होने पर, RecyclerView आइटम के onClick इवेंट फ़ायर होने की समस्या को ठीक कर दिया गया है (b/161162268)
- अब
onRequestDisallowInterceptTouchEvent
को सही तरीके से मैनेज करता है - Q पर माउस स्क्रोल करने के दौरान
”Cannot call this method in a scroll callback”
दिखने की समस्या को ठीक कर दिया गया है - RecyclerView इंस्टेंस की ज़रूरी शर्तों को साफ़ तौर पर बताने के लिए, दस्तावेज़ों (खास तौर पर
StableIdKeyProvider
में) को अपडेट किया गया
Recyclerview-Selection वर्शन 1.1.0-rc01
5 फ़रवरी, 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc01
रिलीज़ हो गया है. वर्शन 1.1.0-rc01 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसकी वजह से RecyclerView को हाथ के जेस्चर की मदद से स्क्रोल करने में समस्या होती है. ऐसा तब होता है, जब वह स्क्रोल किए जा सकने वाले AppBarLayout (aosp/1193934) से इंटरैक्ट करता है
RecyclerView-Selection वर्शन 1.1.0-beta01
4 दिसंबर, 2019
androidx.recyclerview:recyclerview-selection:1.1.0-beta01
रिलीज़ हो गया है. वर्शन 1.1.0-beta01 में ये कमिट मौजूद हैं.
सुरक्षा के लिए की जाने वाली जांच और आंतरिक राज्य को मैनेज करने से जुड़ी स्थिरता में सामान्य सुधार.
गड़बड़ियां ठीक की गईं
- लाइब्रेरी की स्थिति को मैनेज करने और CANCEL इवेंट को समझने में आसानी होने की वजह से, ऐप्लिकेशन क्रैश या फ़्रीज़ होने से बचाने के लिए सुधार किए गए हैं.
एपीआई में किए गए बदलाव
- उन क्लास और तरीकों में 'चुनने के लिए कुंजी टाइप' पैरामीटर जोड़ा गया जो मौजूद नहीं हैं.
- अब काम नहीं करने वाले तरीके:
- SelectionTracker.Builder#withPointerTooltype
- SelectionTracker.Builder#withMessageTooltype
- ये तरीके इस मकसद के साथ बनाए गए थे कि डेवलपर, डिफ़ॉल्ट* के अलावा किसी अन्य टूलटाइप के लिए पॉइंटर या जेस्चर व्यवहार को मैप करें. मकसद अच्छा था, लेकिन इस्तेमाल करने पर यह साफ़ हो गया कि इनपुट के व्यवहार से जुड़ी उपयोगकर्ता की उम्मीद बहुत टूलटिप के हिसाब से है. साथ ही, "पैसिव" जहां तक Android इनपुट सिस्टम का सवाल है, styli FINGER टूलटाइप हैं.
- डिफ़ॉल्ट टूलटाइप, जेस्चर के लिए FINGER और पॉइंटर के लिए MOUSE हैं.