ریسایکلرویو
این جدول تمام مصنوعات موجود در گروه androidx.recyclerview را فهرست میکند.
| مصنوع | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| بازیافتکننده | ۱.۴.۰ | - | - | - |
| انتخاب recyclerview | ۱.۲.۰ | - | - | ۱.۳.۰-آلفا۰۱ |
اعلام وابستگیها
برای افزودن یک وابستگی به RecyclerView، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven گوگل را مطالعه کنید.
وابستگیهای مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { implementation "androidx.recyclerview:recyclerview:1.4.0" // For control over item selection of both touch and mouse driven selection implementation "androidx.recyclerview:recyclerview-selection:1.2.0" }
کاتلین
dependencies { implementation("androidx.recyclerview:recyclerview:1.4.0") // For control over item selection of both touch and mouse driven selection implementation("androidx.recyclerview:recyclerview-selection:1.2.0") }
برای اطلاعات بیشتر در مورد وابستگیها، به «افزودن وابستگیهای ساخت» مراجعه کنید.
بازخورد
بازخورد شما به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی کشف کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. میتوانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه ۱.۴
نسخه ۱.۴.۰
۱۵ ژانویه ۲۰۲۵
androidx.recyclerview:recyclerview:1.4.0 منتشر شد. نسخه 1.4.0 شامل این کامیتها است.
تغییرات مهم از زمان RecyclerView 1.3.2
- پشتیبانی از نرخ نوسازی
Adaptive:RecyclerViewاکنون هنگام پیمایش از طریقOverScroller(مانند تنظیم از یک پیمایش سریع یا روان) تابعsetFrameContentVelocityرا فراخوانی میکند. ( I8f8a4 )
نسخه ۱.۴.۰-rc01
۱۸ سپتامبر ۲۰۲۴
androidx.recyclerview:recyclerview:1.4.0-rc01 منتشر شد، بدون هیچ تغییری از زمان 1.4.0-alpha02 /. نسخه 1.4.0-rc01 شامل این کامیتها است.
تغییرات از زمان ۱.۳.۲
نکته سازگاری : این نسخه فقط با SDK API 35 (بستنی وانیلی) یا بالاتر کامپایل میشود. اگر هنگام ارتقا هشدارهای AGP (پلاگین گریدل اندروید) را مشاهده کردید، میتوانید آنها را غیرفعال کنید.
ویژگیهای جدید
- پشتیبانی از نرخ نوسازی
Adaptive:RecyclerViewاکنون هنگام پیمایش از طریقOverScroller(مانند تنظیم از یک پیمایش سریع یا روان) تابعsetFrameContentVelocityرا فراخوانی میکند. ( I8f8a4 )
تغییرات API
- API
RecyclerView$LayoutManager#isLayoutReversedرا اضافه کنید. ( I4970e )
تغییرات دیگر
- حذف دستورالعمل دسترسی به APIهای پلتفرم جدید، زیرا این امر به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا بالاتر (مثلاً R8 نسخه 3.3) و برای همه نسخهها هنگام استفاده از AGP 8.1 یا بالاتر (مثلاً D8 نسخه 8.1) اتفاق میافتد. به مشتریانی که از AGP استفاده نمیکنند، توصیه میشود به D8 نسخه 8.1 یا بالاتر بهروزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( Ia60e0 ، b/345472586 )
- نوع نمایش آیتم را به بخشهای ردیابی اتصال/ایجاد
RecyclerViewاضافه کنید، و پیشواکشیهای RV را در صورتی که انتظار میرود توسط فریم بعدی استفاده شوند، به عنوان «اجباری - فریم بعدی مورد نیاز» برچسبگذاری کنید، و بنابراین باید در اسرع وقت شروع به کار کنند. ( I8ec3e ، b/309523615 ) -
compileSdkبه 35 بهروزرسانی کنید (برای جزئیات بیشتر به «یادداشت سازگاری» در بالا مراجعه کنید). 5dc41be
نسخه ۱.۴.۰-بتا۰۱
۲۱ آگوست ۲۰۲۴
androidx.recyclerview:recyclerview:1.4.0-beta01 منتشر شد، بدون هیچ تغییری از زمان 1.4.0-alpha02 . نسخه 1.4.0-beta01 شامل این کامیتها است.
نکته سازگاری : این نسخه فقط با SDK API 35 (بستنی وانیلی) یا بالاتر کامپایل میشود. اگر هنگام ارتقا هشدارهای AGP (پلاگین گریدل اندروید) را مشاهده کردید، میتوانید آنها را غیرفعال کنید.
نسخه ۱.۴.۰-آلفا۰۲
۷ آگوست ۲۰۲۴
androidx.recyclerview:recyclerview:1.4.0-alpha02 منتشر شد. نسخه 1.4.0-alpha02 شامل این کامیتها است.
نکته سازگاری : این نسخه فقط با SDK API 35 (بستنی وانیلی) یا بالاتر کامپایل میشود. اگر هنگام ارتقا هشدارهای AGP (پلاگین گریدل اندروید) را مشاهده کردید، میتوانید آنها را غیرفعال کنید.
ویژگیهای جدید
- پشتیبانی از نرخ نوسازی متغیر: RecyclerView اکنون هنگام پیمایش از طریق OverScroller (مانند تنظیم از یک پیمایش پرتابی یا نرم) تابع
setFrameContentVelocityرا فراخوانی میکند. ( I8f8a4 )
تغییرات API
- رابطهای برنامهنویسی
ViewCompat.LAYOUT_DIRECTION_منسوخشده ( I51710 ، b/317055535 ) - API
RecyclerView$LayoutManager#isLayoutReversedرا اضافه کنید. ( I4970e )
تغییرات دیگر
- حذف دستورالعمل دسترسی به APIهای پلتفرم جدید، زیرا این امر به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا بالاتر (مثلاً R8 نسخه 3.3) و برای همه نسخهها هنگام استفاده از AGP 8.1 یا بالاتر (مثلاً D8 نسخه 8.1) اتفاق میافتد. به مشتریانی که از AGP استفاده نمیکنند، توصیه میشود به D8 نسخه 8.1 یا بالاتر بهروزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( Ia60e0 ، b/345472586 )
- نوع نمایش آیتم را به بخشهای ردیابی اتصال/ایجاد
RecyclerViewاضافه کنید، و پیشواکشیهای RV را در صورتی که انتظار میرود توسط فریم بعدی استفاده شوند، به عنوان «اجباری - فریم بعدی مورد نیاز» برچسبگذاری کنید، و بنابراین باید در اسرع وقت شروع به کار کنند. ( I8ec3e ، b/309523615 ) -
compileSdkبه 35 بهروزرسانی کنید (برای جزئیات بیشتر به «یادداشت سازگاری» در بالا مراجعه کنید). 5dc41be
مشارکت خارجی
-
GestureDetectorCompatاکنون منسوخ شده است زیراGestureDetectorازminSdkدر دسترس است. ( Icc4cd )
نسخه ۱.۴.۰-آلفا۰۱
۱۸ اکتبر ۲۰۲۳
androidx.recyclerview:recyclerview:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 شامل این کامیتها است.
تغییرات API
- API
RecyclerView$LayoutManager#isLayoutReversedرا اضافه کنید. ( I4970e )
رفع اشکالات
- رفع اشکالی که باعث کرشهای گاهبهگاه در طول انیمیشنها میشد ( I42f22b ) (همچنین در نسخه ۱.۳.۲ گنجانده شده است)
نسخه ۱.۳.۲
نسخه ۱.۳.۲
۱۸ اکتبر ۲۰۲۳
androidx.recyclerview:recyclerview:1.3.2 منتشر شد. نسخه ۱.۳.۲ شامل این کامیتها است.
رفع اشکالات
- رفع اشکالی که باعث کرشهای گاهبهگاه در طول انیمیشنها میشد. ( I42f22b )
نسخه ۱.۳.۱
نسخه ۱.۳.۱
۲۶ ژوئیه ۲۰۲۳
androidx.recyclerview:recyclerview:1.3.1 منتشر شد، بدون هیچ تغییری از زمان 1.3.1-rc01. نسخه 1.3.1 شامل این کامیتها است.
برای یادداشتهای انتشار نسخههای قبلی، به صفحه یادداشتهای انتشار ما مراجعه کنید
نسخه ۱.۳.۱-rc01
۲۴ مه ۲۰۲۳
androidx.recyclerview:recyclerview:1.3.1-rc01 منتشر شد. نسخه 1.3.1-rc01 شامل این کامیتها است.
کاربران ViewPager2 هنگام بهروزرسانی به این نسخه از RecyclerView باید حداقل به نسخه 1.1.0-beta02 بهروزرسانی کنند تا از خرابیها جلوگیری شود.
تغییرات API
- متدهای جدید
setDebugAssertionsEnabledوsetVerboseLoggingEnabledرا اضافه کنید که میتوانند به اشکالزدایی مشکلات مربوط بهRecyclerViewدر برنامهها کمک کنند. ( I514b9 )
رفع اشکالات
- با اتصال مجدد موقت نماهای موقتاً جدا شده هنگام فراخوانی
onBindمشکل از کار افتادن برای کاربرانViewTreeLifecycleOwner(از جملهComposeView) را برطرف کنید. ( I7244f2c ، b/265347515 ، b/283288295 )
نسخه ۱.۳.۰
نسخه ۱.۳.۰
۸ مارس ۲۰۲۳
androidx.recyclerview:recyclerview:1.3.0 منتشر شد، بدون هیچ تغییری از زمان 1.3.0-rc01. نسخه 1.3.0 شامل این کامیتها است.
تغییرات مهم از زمان ۱.۲.۰
- این نسخه شامل بهبودهایی در عملکرد (که قبلاً در نسخههای ۱.۳.۰-alpha02 و ۱.۳.۰-beta01 وجود داشت) هنگام استفاده با Jetpack Compose است. اگر از Compose
1.2.0-beta02یا بالاتر استفاده میکنید و ازMyComposeAdapterوDisposeOnViewTreeLifecycleDestroyedViewCompositionStrategyکه در دستورالعملهای قبلی قابلیت همکاری توضیح داده شده بودند، استفاده میکردید، باید این موارد را حذف کنید ، زیرا دیگر بهبودی نسبت به حالت پیشفرض محسوب نمیشوند. - متد جدید
ConcatAdapter.getWrappedAdapterAndPositionاضافه شده است تا امکان بازیابی اطلاعات آداپتور پیچیده شده را در موقعیتهایی کهViewHolderندارید، مانندSpanSizeLookup( I2bd4c ، b/191543920 ) فراهم کند.
نسخه ۱.۳.۰-rc01
۲۱ سپتامبر ۲۰۲۲
androidx.recyclerview:recyclerview:1.3.0-rc01 منتشر شد. نسخه 1.3.0-rc01 شامل این کامیتها است.
- بدون تغییر از آخرین انتشار
نسخه ۱.۳.۰-بتا۰۲
۱۰ آگوست ۲۰۲۲
androidx.recyclerview:recyclerview:1.3.0-beta02 منتشر شد. نسخه 1.3.0-beta02 شامل این کامیتها است.
تغییرات API
- حاشیهنویسیهای nullability که در نسخه ۱.۳.۰-بتا۰۱ اضافه شده بودند، به دلیل این واقعیت که نشاندهنده یک تغییر ناسازگار با منبع قابل توجه برای کاربران کاتلین بودند ( I7a258 ، I1557e6 ، I8db76 ) حذف شدند.
نسخه ۱.۳.۰-بتا۰۱
۲۹ ژوئن ۲۰۲۲
androidx.recyclerview:recyclerview:1.3.0-beta01 منتشر شد. نسخه 1.3.0-beta01 شامل این کامیتها است.
ویژگیهای جدید
- این نسخه بتا شامل بهبودهایی در عملکرد است (که قبلاً در نسخه ۱.۳.۰-alpha02 هنگام استفاده با Jetpack Compose وجود داشت). اگر از Compose نسخه
1.2.0-beta02یا بالاتر استفاده میکنید و ازMyComposeAdapterوDisposeOnViewTreeLifecycleDestroyedViewCompositionStrategyکه در دستورالعملهای قبلی قابلیت همکاری توضیح داده شده بودند، استفاده میکردید، باید این موارد را حذف کنید ، زیرا دیگر بهبودی نسبت به حالت پیشفرض محسوب نمیشوند.
تغییرات API
- حاشیهنویسیهای nullability برای تعدادی از متدها و پارامترها اضافه شد تا هشدارهای lint برای کاربران جاوا و قابلیت همکاری برای کاربران کاتلین بهبود یابد. این ممکن است برای برخی از کاربران کاتلین یک تغییر مخرب در کد منبع باشد و منجر به هشدارها/خطاهای lint اضافی برای برخی از کاربران جاوا شود. ( I61829 , b/236487044 ; Ia0b6f ; I6f119 , b/236487209 ; Ibe1de , b/236487210 )
رفع اشکالات
- با تنظیم نام کلاس اطلاعات گره a11y ( I12812 ) اطمینان حاصل کنید که سرویسهای a11y با شبکهها به عنوان شبکه رفتار میکنند.
نسخه ۱.۳.۰-آلفا۰۲
۶ آوریل ۲۰۲۲
androidx.recyclerview:recyclerview:1.3.0-alpha02 منتشر شد. نسخه 1.3.0-alpha02 شامل این کامیتها است.
تغییرات API
- متدهای آزمایشی
BuildCompatبرای SDK های آینده اضافه میکند ( Iafd82 ، b/207528937 ) - متد جدید
ConcatAdapter.getWrappedAdapterAndPositionاضافه شده است تا امکان بازیابی اطلاعات آداپتور پیچیده شده را در موقعیتهایی که ViewHolder ندارید، مانندSpanSizeLookup( I2bd4c ، b/191543920 ) فراهم کند.
رفع اشکالات
- ادغام با کتابخانه جدید AndroidX PoolingContainer ( Ib89d2 )
- فاصله پیمایش را برای اقدام دسترسی تنظیم میکند ( If74ae )
نسخه ۱.۳.۰-آلفا۰۱
۱۵ سپتامبر ۲۰۲۱
androidx.recyclerview:recyclerview:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- پشتیبانی از اسکرول کششی و پیمایش بیش از حد RecyclerView اضافه شد. ( Iab877 )
RecyclerView-Selection نسخه ۱.۳.۰
نسخه ۱.۳.۰-آلفا۰۱
۱۷ دسامبر ۲۰۲۵
androidx.recyclerview:recyclerview-selection:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 شامل این کامیتها است.
تغییرات API
- اجازه دهید in-selection-hotspot انتخاب موجود را پاک کند ( I0eae7 ، b/389814214 ). این به توسعهدهندگان کنترل بیشتری میدهد تا هنگام ضربه زدن یا کلیک کردن روی
RecyclerViewبرای انتخاب یک مورد، آیا موارد دیگری که از قبل انتخاب شدهاند، انتخاب شده باقی بمانند یا از حالت انتخاب خارج شوند.
انتخاب RecyclerView نسخه ۱.۲.۰
نسخه ۱.۲.۰
۲۰ مه ۲۰۲۵
androidx.recyclerview:recyclerview-selection:1.2.0 منتشر شد. نسخه ۱.۲.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۱.۰
- رفع مشکل تبدیل کلیکها به درگها با حرکات کوچک ماوس.
- مشکلی را برطرف کنید که در آن نگاشت کلید/موقعیت در KeyProvider از بین میرفت در حالی که ورودی هنوز بازیافت نشده بود.
نسخه ۱.۲.۰-rc01
۷ مه ۲۰۲۵
androidx.recyclerview:recyclerview-selection:1.2.0-rc01 منتشر شد. نسخه 1.2.0-rc01 شامل این کامیتها است.
رفع اشکالات
- رفع مشکل تبدیل کلیکها به درگ با حرکات کوچک ماوس ( Ie9106 )
نسخه ۱.۲.۰-بتا۰۱
۹ آوریل ۲۰۲۵
androidx.recyclerview:recyclerview-selection:1.2.0-beta01 منتشر شد. نسخه 1.2.0-beta01 شامل این کامیتها است.
تغییرات API
- رابطهای برنامهنویسی
ViewCompat.LAYOUT_DIRECTION_منسوخشده ( I51710 ، b/317055535 )
رفع اشکالات
- این کتابخانه اکنون از حاشیهنویسیهای nullness از نوع JSpecify استفاده میکند که از نوع type-use هستند. توسعهدهندگان کاتلین باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict(این پیشفرض است که از نسخه 2.1.0 کامپایلر کاتلین شروع میشود). ( I03b80 ، b/326456246 )
نسخه ۱.۲.۰-آلفا۰۱
۵ مه ۲۰۲۱
androidx.recyclerview:recyclerview-selection:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 شامل این کامیتها است.
رفع اشکالات
- مشکلی را برطرف کنید که در آن نگاشت کلید/موقعیت در KeyProvider از بین میرفت در حالی که ورودی هنوز بازیافت نشده بود. ( b/145767095 )
نسخه ۱.۲.۱
نسخه ۱.۲.۱
۲ ژوئن ۲۰۲۱
androidx.recyclerview:recyclerview:1.2.1 منتشر شد. نسخه ۱.۲.۱ شامل این کامیتها است.
رفع اشکالات
-
ViewHolderهای داخلConcatAdapterاکنون موقعیت آداپتور صحیح را هنگام پرس و جو در فراخوانیonViewRecycledبرمیگردانند. ( b/187339376 )
نسخه ۱.۲.۰
نسخه ۱.۲.۰
۷ آوریل ۲۰۲۱
androidx.recyclerview:recyclerview:1.2.0 منتشر شد. نسخه ۱.۲.۰ شامل این کامیتها است.
تغییرات عمده از زمان ۱.۱.۰
ConcatAdapter : این آداپتور جدید به شما امکان میدهد تا به راحتی چندین آداپتور را در یک RecyclerView به هم متصل کنید. برای اطلاعات بیشتر به پست وبلاگ مراجعه کنید.
- به عنوان بخشی از این تغییر،
ViewHolder.getAdapterPositionمنسوخ شده و با دو متد جدید جایگزین شده است:- تابع getBindingAdapterPosition موقعیت نسبت به آداپتوری که آن آیتم را متصل کرده است، برمیگرداند.
- تابع getAbsoluteAdapterPosition موقعیت نسبی کل RecyclerView را برمیگرداند.
بازیابی وضعیت به صورت تنبل : آداپتور RecyclerView اکنون میتواند بازیابی وضعیت را تا زمان بارگذاری محتویات آن به تأخیر بیندازد. برای جزئیات بیشتر به مستندات مراجعه کنید.
نسخه ۱.۲.۰-rc01
۲۴ مارس ۲۰۲۱
androidx.recyclerview:recyclerview:1.2.0-rc01 منتشر شد. نسخه 1.2.0-rc01 شامل این کامیتها است.
رفع اشکالات
-
ConcatAdapter.Config.Builderاکنون مقادیر پیشفرضی دارد که باConfig.DEFAULT( b/157169835 ) مطابقت دارند.
نسخه ۱.۲.۰-بتا۰۲
۲۴ فوریه ۲۰۲۱
androidx.recyclerview:recyclerview:1.2.0-beta02 منتشر شد. نسخه 1.2.0-beta02 شامل این کامیتها است.
رفع اشکالات
- مشکلی که باعث میشد حاشیهگذاری بالا باعث شود درخشش اسکرول سمت راست به سمت بالا و داخل ناحیه حاشیهگذاری شده حرکت کند، به جای اینکه به سمت پایین حرکت کند تا فاصلهگذاری رعایت شود، برطرف شد. ( I6b61d , b/118399122 )
نسخه ۱.۲.۰-بتا۰۱
۲ دسامبر ۲۰۲۰
androidx.recyclerview:recyclerview:1.2.0-beta01 بدون هیچ تغییری نسبت به 1.2.0-alpha06 منتشر شده است. نسخه ۱.۲.۰-beta01 شامل این کامیتها است.
نسخه ۱.۲.۰-alpha06
۱ اکتبر ۲۰۲۰
androidx.recyclerview:recyclerview:1.2.0-alpha06 منتشر شد. نسخه 1.2.0-alpha06 شامل این کامیتها است.
ویژگیهای جدید
- پشتیبانی از اضافه کردن چندین RecyclerListener اضافه شد. ( I70ad8 ، b/145767095 )
تغییرات API
- RecyclerView.setRecyclerListener(RecyclerListener) منسوخ شده است. ( I70ad8 ، b/145767095 )
نسخه ۱.۲.۰-آلفا۰۵
۲۲ ژوئیه ۲۰۲۰
androidx.recyclerview:recyclerview:1.2.0-alpha05 منتشر شد. نسخه 1.2.0-alpha05 شامل این کامیتها است.
رفع اشکالات
- مشکلی که باعث میشد اگر یک RecyclerView فقط یک آیتم داشته باشد و فوکوس روی آن باشد، با فوکوس به جلو یا عقب، فوکوس جابجا نشود، برطرف شد ( 6f36b3 )
- خطای
ArrayIndexOutOfBoundsExceptionدرStaggeredGridLayoutManager( 49b601 ، b/122303625 ، b/74877618 ، b/160193663 ، b/37086625 ) برطرف شد. - اشکال اندازهگیری که در آن تحت شرایط خاص، RecyclerView به طور نامناسبی فرزندان خود را نشان نمیداد، برطرف شد. ( 89040c ، b/138734786 )
مشارکتهای خارجی
- با تشکر از کولین کروینکل از طرف فیسبوک برای این مشارکت !
نسخه ۱.۲.۰-آلفا۰۴
۲۴ ژوئن ۲۰۲۰
androidx.recyclerview:recyclerview:1.2.0-alpha04 منتشر شد. نسخه 1.2.0-alpha04 شامل این کامیتها است.
تغییرات API
- برای جلوگیری از هرگونه سردرگمی با رفتارهای مختلف ادغام دادهها ( c0540c ، b/158019211 )، نام
MergeAdapterبهConcatAdapterتغییر یافته است.
رفع اشکالات
- بهبودهایی در پیمایش خودکار هنگام حذف همه موارد قابل مشاهده ( fe8670 ، b/154124815 )
نسخه ۱.۲.۰-آلفا۰۳
۲۹ آوریل ۲۰۲۰
androidx.recyclerview:recyclerview:1.2.0-alpha03 منتشر شد. نسخه 1.2.0-alpha03 شامل این کامیتها است.
ویژگیهای جدید
- RecyclerView اکنون یک متد
nestedScrollByدارد که امکان پیمایش برنامهریزیشده را فراهم میکند و با پیمایش تودرتو همکاری میکند: ( Ibaa58 )
نسخه ۱.۲.۰-آلفا۰۲
۱ آوریل ۲۰۲۰
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 بهروزرسانی کنید.
ویژگیهای جدید
آداپتور ادغام
- MergeAdapter : یک آداپتور RecyclerView جدید که میتواند چندین آداپتور را به صورت خطی ترکیب کند.
MyAdapter adapter1 = ...; AnotherAdapter adapter2 = ...; MergeAdapter merged = new MergeAdapter(adapter1, adapter2); recyclerView.setAdapter(mergedAdapter);برای نمونه بالا، MergeAdapter آیتمها را از
adapter1و به دنبال آنadapter2ارائه میدهد.بازیابی حالت تنبل
RecyclerView.Adapter:یک API جدید به کلاس
RecyclerView.Adapterاضافه شده است که به Adapter اجازه میدهد زمان بازیابی وضعیت طرحبندی را کنترل کند.برای مثال، میتوانید تماس بگیرید:
myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);برای اینکه RecyclerView قبل از بازیابی موقعیت اسکرول، منتظر بماند تا Adapter خالی نشود.
CollectionInfo و CollectionItemInfo دیگر به طور پیشفرض پر نخواهند شد.
اگر میخواهید سرویسهای دسترسی (مثلاً Talkback) همچنان تعداد و اندیس آیتم را به کاربر نشان دهند، باید خودتان CollectionInfo و CollectionItemInfo را پر کنید.
این اشیاء دیگر در چارچوب قرار نمیگیرند زیرا چارچوب نمیتواند تعداد آیتمهایی را که توسط کاربر درک میشوند (مانند جداکنندهها، هدرها یا آیتمهای RecyclerView که نشاندهنده چندین آیتم درک شده هستند) تعیین کند.
رفع اشکالات
- RecyclerView اکنون از اتصال به نماهای خارج از نمای دید، زمانی که اندازه نمای دید تغییر کرده است، جلوگیری میکند.
- اشکالی در DiffUtil برطرف شد که در آن ممکن بود وقتی یک آیتم اصلی در لیست اول چندین بار در لیست دوم تکرار میشود، تفاوت را اشتباه محاسبه کند. ( b/123376278 )
نسخه ۱.۲.۰-آلفا۰۱
۱۸ دسامبر ۲۰۱۹
androidx.recyclerview:recyclerview:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 شامل این کامیتها است .
رفع اشکالات
- مشکلات جزئی مربوط به ترسیم RTL و دقت لمس در FastScroller برطرف شد ( b/143789932 ، aosp/1130438 )
- رفع مشکل کرش کردن ItemTouchHelper هنگام حذف از RecyclerView در حین اجرای انیمیشنهای ItemTouchHelper ( b/140447176 ، aosp/1167575 )
نسخه ۱.۱.۰
نسخه ۱.۱.۰
۲۰ نوامبر ۲۰۱۹
androidx.recyclerview:recyclerview:1.1.0 منتشر شد. نسخه ۱.۱.۰ شامل این کامیتها است .
تغییرات مهم از زمان ۱.۰.۰
-
PagerSnapHelperوLinearSnapHelperاکنون صرف نظر از مقدارclipToPadding( b/139452422 ، b/139012032 ، aosp/1103182 ، aosp/1106715 ، aosp/1130728 ) فاصلهگذاری 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 دیگر RecyclerView ItemDelegate را از کار نمیاندازد.
-
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])میتواند برای سفارشیسازی میزان فضای طرحبندی اضافی که باید به هر دو طرف RecyclerView مرتبط اضافه شود، بازنویسی شود. ( aosp/931259 ) - یک overload جدید از smoothScrollBy اضافه شد:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)که به شما امکان میدهد مدت زمان انیمیشن را بر حسب میلیثانیه مشخص کنید. ( aosp/952807 )
نسخه ۱.۱.۰-rc01
۲۳ اکتبر ۲۰۱۹
androidx.recyclerview:recyclerview:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 شامل این کامیتها است .
رفع اشکالات
- خطای «برنامه پاسخ نمیدهد» هنگام لغو
RecyclerViewAccessibilityDelegate.ItemDelegate( aosp/1138057 ، aosp/1133434 ) برطرف شد.
نسخه ۱.۱.۰-بتا۰۵
۹ اکتبر ۲۰۱۹
androidx.recyclerview:recyclerview:1.1.0-beta05 منتشر شد. نسخه 1.1.0-beta05 شامل این کامیتها است .
تغییرات API
- در ادامهی aosp/1106715 و aosp/1103182 ، اکنون LinearSnapHelper و PagerSnapHelper نمایی را که در مرکز مرزهای RecyclerView قرار دارد، منهای padding، علیرغم مقدار clipToPadding، برمیگردانند. ( aosp/1130728 )
رفع اشکالات
- مشکلی که باعث میشد RecyclerView گرههای دسترسی تکراری برای فرزندان RecyclerView ایجاد کند، برطرف شد. ( aosp/1130618 )
- مشکلی که باعث میشد سلسله مراتب دسترسی مجازی در RecyclerViews کار نکند، برطرف شد.
- مشکلی که باعث میشد از ItemDelegates سفارشی استفاده نشود، برطرف شد.
نسخه ۱.۱.۰-بتا۰۴
۵ سپتامبر ۲۰۱۹
androidx.recyclerview:recyclerview:1.1.0-beta04 منتشر شد. کامیتهای موجود در این نسخه را میتوانید اینجا پیدا کنید.
رفع اشکالات
-
PagerSnapHelperوLinearSnapHelperاکنون صرف نظر از مقدارclipToPadding( b/139452422 ، b/139012032 ، aosp/1103182 ، aosp/1106715 ) فاصلهگذاری RecyclerView را در نظر میگیرند. - اشکالی که باعث میشد RecyclerView هنگام پیمایش تو در تو، اجازهی رهگیری لمسی را ندهد، برطرف شد (پیش پیمایش تو در تو باعث پیمایش
NestedScrollingParentمیشد ( b/138668210 ، aosp/1105373 ). این به نفع کتابخانههایی مانند ViewPager2 است. - RecyclerView اکنون قبل از ارسال اسکرولهای تو در تو، به طور مداوم به
SCROLL_STATE_DRAGGINGمیرود ( aosp/1105373 ) - پیش پیمایش تو در تو دیگر قبل از اینکه حرکت از شیب لمسی ( b/139530818 ، aosp/1105373 ) تجاوز کند، انجام نمیشود.
- آرگومانهای
dxوdyکه به پیشپیمایشهای تو در تو ارسال میشوند، زمانی که RecyclerView نمیتواند در آن جهت پیمایش کند، صفر میشوند ( aosp/1105373 )
نسخه ۱.۱.۰-بتا۰۳
۱۵ آگوست ۲۰۱۹
androidx.recyclerview:recyclerview:1.1.0-beta03 منتشر شد. کامیتهای موجود در این نسخه را میتوانید اینجا پیدا کنید.
تغییرات API
- RecyclerView اکنون فواصل اسکرول را از طریق
View.onScrollChanged(int l, int t, int oldl, int oldt)ارسال میکند تا سرویسهای دسترسی به طور دقیق از تغییرات اسکرول مطلع شوند. ( aosp/1007823 )
رفع اشکالات
- یک اشکال بزرگ سرریز پشته مربوط به RecyclerView و دسترسیپذیری برطرف شد. ( aosp/1099577 )
نسخه ۱.۱.۰-بتا۰۲
۷ آگوست ۲۰۱۹
androidx.recyclerview:recyclerview:1.1.0-beta02 منتشر شد. کامیتهای موجود در این نسخه را میتوانید اینجا پیدا کنید.
ویژگیهای جدید
- RecyclerView اکنون یک ویژگی سبک پیشفرض دارد:
recyclerViewStyle، که امکان تنظیم سبک پیشفرض را در قالب شما فراهم میکند.
رفع اشکالات
- اشکالی که باعث میشد RecyclerView هنگام اسکرول کردن، اجازه لمس را ندهد و باعث اسکرول NestedScrollingParent شود، برطرف شد. ( b/131115697 , aosp/1055911 )
نسخه ۱.۱.۰-بتا۰۱
۲ ژوئیه ۲۰۱۹
androidx.recyclerview:recyclerview:1.1.0-beta01 منتشر شد. کامیتهای موجود در این نسخه را میتوانید اینجا پیدا کنید.
ویژگیهای جدید
-
RecyclerViewاکنون در اسکرول تو در تو، زمانی که یک اسکرول از طریق رویدادهای دسترسی آغاز میشود، شرکت میکند. ( aosp/973584 )
نسخه ۱.۱.۰-alpha06
۵ ژوئن ۲۰۱۹
androidx.recyclerview:recyclerview:1.1.0-alpha06 و androidx.recyclerview:recyclerview-selection:1.1.0-alpha06 منتشر شدند. کامیتهای موجود در این نسخه را میتوانید اینجا پیدا کنید.
ویژگیهای جدید
- یک overload جدید از smoothScrollBy اضافه شد:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)که به شما امکان میدهد مدت زمان انیمیشن را بر حسب میلیثانیه مشخص کنید. ( aosp/952807 )
تغییرات API
-
GridLayoutManagerوStaggeredGridLayoutManagerدیگر به طور خودکار آیتمهای full span را به عنوان سرصفحه برای اهداف دسترسیپذیری برچسبگذاری نمیکنند ( aosp/969703 ) - ترتیب انتخاب (بر اساس زمان ایجاد) را در
recyclerview-selection( aosp/937279 ) حفظ کنید.
رفع اشکالات
- اشکالی که باعث میشد
RecyclerViewدر حالت اسکرول تو در تو با سرعتهای نادرست حرکت کند، برطرف شد. ( aosp/961642 ) - بهبودهای پایداری به
recyclerview-selectionاضافه شد ( aosp/960213 ، aosp/926296 )
نسخه ۱.۱.۰-آلفا۰۵
۷ مه ۲۰۱۹
androidx.recyclerview:recyclerview:1.1.0-alpha05 و androidx.recyclerview:recyclerview-selection:1.1.0-alpha05 منتشر شدند. کامیتهای موجود در این نسخه را میتوانید اینجا پیدا کنید.
ویژگیهای جدید
-
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])میتواند برای سفارشیسازی میزان فضای طرحبندی اضافی که باید به هر دو طرف RecyclerView مرتبط اضافه شود، بازنویسی شود. ( aosp/931259 )
تغییرات API
- اضافه کردن API برای بازیابی
DividerItemDecorationdrawable ( aosp/937282 ) - منسوخ کردن
LinearLayout.getExtraLayoutSpace(RecyclerVew.State)به نفع مکانیزم جدیدی که امکان داشتن فضای طرحبندی اضافی سفارشی در هر دو طرف را فراهم میکند. متد جدیدLinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[])( aosp/931259 ) است.
رفع اشکالات
- انتخاب ژستهای حرکتی بهبود یافته ( aosp/940781 )
- ترتیب انتخاب را حفظ کنید (بر اساس زمان ایجاد) ( b/128455535 )
نسخه ۱.۱.۰-آلفا۰۴
۳ آوریل ۲۰۱۹
androidx.recyclerview:recyclerview:1.1.0-alpha04 منتشر شد. کامیتهای موجود در این نسخه را میتوانید اینجا پیدا کنید.
رفع اشکالات
- قبلاً RV OnItemTouchListener ها نمیتوانستند ACTION_UP را رهگیری کنند، و مانع از این میشد که OnItemTouchListener ها کد دیگر را از پاسخ دادن به ACTION_UP مسدود کنند. این مشکل اکنون برطرف شده است: ( aosp/916137 )
نسخه ۱.۱.۰-آلفا۰۳
۱۳ مارس ۲۰۱۹
androidx.recyclerview:recyclerview:1.1.0-alpha03 منتشر شد. لیست کامل کامیتهای موجود در این نسخه را میتوانید اینجا بیابید.
ویژگیهای جدید
-
GridLayoutManager: انتخاب، تخمین ابعاد نوار پیمایشGridLayoutManagerبا وضوح بالاتر ( aosp/838836 ):- از اطلاعات span برای تخمین ابعاد نوار پیمایش برای
GridLayoutManagerاستفاده میکند. - برای فعال کردن،
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)را با مقدار true فراخوانی کنید. - برای اطلاعات بیشتر به مستندات مربوط به
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)مراجعه کنید.
- از اطلاعات span برای تخمین ابعاد نوار پیمایش برای
رفع اشکالات
- دسترسیپذیری: اشکالی وجود داشت که وقتی یک ViewHolder بازیافت و سپس دوباره راهاندازی میشد، ItemDelegate مرتبط با
RecyclerViewAccessibilityDelegateمربوط به RecyclerView با itemView مربوط به ViewHolder مرتبط نمیشد و دسترسیپذیری را مختل میکرد. این مشکل اکنون برطرف شده است ( aosp/917740 ).
نسخه ۱.۱.۰-آلفا۰۲
۳۰ ژانویه ۲۰۱۹
androidx.recyclerview:recyclerview 1.1.0-alpha02 منتشر شد.
تغییرات API
-
RecyclerView.setLayoutFrozen(boolean)وRecyclerView.isLayoutFrozen()منسوخ شدهاند وRecyclerView.suppressLayout(boolean)وRecyclerView.isLayoutSuppressed()جایگزین آنها شدهاند. ( aosp/839414 ) -
RecyclerView.setLayoutTransition(LayoutTransition)رسماً منسوخ شده است و هنگام فراخوانی با مقدار غیر تهی، خطایIllegalArgumentException( aosp/839414 ) را صادر میکند.
رفع اشکالات
- رفع اشکال در RV که در آن
SmoothScrollerهرگز متوقف نمیشود ( aosp/843741 ) - اشکالی که باعث میشد
SCROLL_STATE_IDLEدر پایان انیمیشن اسکرول کردن فراخوانی نشود، برطرف شد. ( aosp/812576 )
نسخه ۱.۱.۰-آلفا۰۱
۳ دسامبر ۲۰۱۸
androidx.recyclerview 1.1.0-alpha01 و androidx.recyclerview-selection 1.1.0-alpha01 منتشر شدند.
androidx.recyclerview 1.1.0-alpha01
تغییرات API
- aosp/723649 : RecyclerView اکنون
NestedScrollingChild3پیادهسازی میکند و به آن این امکان را میدهد که از زمانی که تمام والدین پیمایش تو در تو، مصرف فواصل پیمایش تو در تو را متوقف کردهاند، مطلع شود. اگر کد توسعهدهنده در حال حاضرRecyclerView.onNestedScroll(View, int, int, int, int, int)را لغو میکند، احتمالاً دیگر فراخوانی نخواهد شد و به جای آنRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])باید لغو شود.
رفع اشکالات
- مشکل از کار افتادن برنامه هنگام استفاده از
TransitionManagerبرای جمع کردن/باز کردن آیتم درRecyclerView( b/37129527 ) برطرف شد. - اشکالی که باعث میشد رفتار
RecyclerView.OnItemTouchListenerبا رفتارonInterceptTouchEventوonTouchEventسیستم نما ( aosp/721235 ) مغایرت داشته باشد، برطرف شد. - رفع چند اشکال مربوط به پیمایش روان در لبهها ( aosp/729718 ، aosp/747168 ، aosp/812576 )
- استراتژی snap در
PagerSnapHelperبرای مقابله با نماهای فرزند غیر معمول ( aosp/795752 ) اصلاح شد.
androidx.recyclerview-selection 1.1.0-alpha01
رفع اشکالات
- خطای
ConcurrentModificationExceptionهنگام تغییر مجموعه دادهها با حذف انتخاب، برطرف شد.
RecyclerView-Selection نسخه ۱.۱.۰
RecyclerView-Selection نسخه ۱.۱.۰
۲۷ ژانویه ۲۰۲۱
androidx.recyclerview:recyclerview-selection:1.1.0 منتشر شد. نسخه ۱.۱.۰ شامل این کامیتها است.
تغییرات عمده از زمان ۱.۰.۰
- بهبودهای متعدد در پایداری.
- متدهای
withGestureTooltypesوwithPointerTooltypesدرSelectionTracker.Builderمنسوخ شدهاند. این متدها در نسخههای آینده حذف خواهند شد.
RecyclerView-Selection نسخه ۱.۱.۰-rc03
۱ اکتبر ۲۰۲۰
androidx.recyclerview:recyclerview-selection:1.1.0-rc03 منتشر شد. نسخه 1.1.0-rc03 شامل این کامیتها است.
رفع اشکالات
با تشکر از استفان کیسلر برای آزمایش اصلاحات و بازخورد.
- مشکلی که باعث میشد OnClickListenerهای نمای فرزند هنگام انتخاب فعال به طور غیرمنتظره فراخوانی شوند، برطرف شد.
- کنترلکننده ماوس (انتخاب باند) > پیمایشهای غیرمنتظره را با ظرافت مدیریت کنید. ( b/167821507 )
RecyclerView-Selection نسخه ۱.۱.۰-rc02
۲ سپتامبر ۲۰۲۰
androidx.recyclerview:recyclerview-selection:1.1.0-rc02 منتشر شد. نسخه 1.1.0-rc02 شامل این کامیتها است.
نکات برجسته
- چندین رگرسیون از نسخه ۱.۰ در مدیریت ورودی برطرف شد.
- کتابخانه بهروزرسانی شد تا از
onRequestDisallowInterceptTouchEventپشتیبانی کند و به آن اجازه میدهد تا به خوبی با ItemTouchHelper کار کند (کافی است آن را کنار بکشید!).
رفع اشکالات
- مشکلی که باعث میشد کتابخانه انتخاب، رویدادهای
GestureDetectorرا اشتباه تفسیر کند و در نتیجه در حین انتخاب فعال، لمسها از دست بروند، برطرف شد ( b/165030422 ) - مشکلی که باعث میشد انتخاب برای نمایش موارد حذف شده از آداپتور بهروزرسانی نشود، برطرف شد. ( b/138932671 )
- مشکلی که باعث میشد آیتمهای RecyclerView در حالی که SelectionTracker انتخاب فعال دارد، رویدادهای onClick را اجرا کنند، برطرف شد ( b/161162268 )
- اکنون
onRequestDisallowInterceptTouchEventبه درستی مدیریت میشود. - مشکلی که باعث میشد هنگام اسکرول کردن ماوس روی Q
”Cannot call this method in a scroll callback”برطرف شد. - اسناد بهروزرسانیشده (بهویژه در
StableIdKeyProvider) برای بیان واضح الزامات نمونه RecyclerView
Recyclerview-Selection نسخه ۱.۱.۰-rc01
۵ فوریه ۲۰۲۰
androidx.recyclerview:recyclerview-selection:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 شامل این کامیتها است .
رفع اشکالات
- مشکلی که باعث میشد اسکرول کردن RecyclerView با انتخاب ژست حرکتی در صورت تعامل با AppBarLayout اسکرولپذیر ( aosp/1193934 ) دشوار باشد، برطرف شد.
RecyclerView-Selection نسخه ۱.۱.۰-بتا۰۱
۴ دسامبر ۲۰۱۹
androidx.recyclerview:recyclerview-selection:1.1.0-beta01 منتشر شد. نسخه 1.1.0-beta01 شامل این کامیتها است .
بهبودهای کلی در پایداری مربوط به بررسیهای دفاعی و مدیریت وضعیت داخلی.
رفع اشکالات
- مدیریت بهبود یافته وضعیت کتابخانه و تفسیر رویدادهای CANCEL، که منجر به بهبود پایداری میشود.
تغییرات API
- پارامتر نوع کلید انتخاب به کلاسها و متدهایی که وجود ندارند اضافه شد.
- روشهای منسوخشده:
- SelectionTracker.Builder#withPointerTooltype
- SelectionTracker.Builder#withGestureTooltype
- این روشها با این هدف وجود داشتند که توسعهدهندگان بتوانند رفتارهای اشارهگر یا ژست را به ابزارهایی غیر از پیشفرضها نگاشت کنند*. هدف خوب بود، اما با استفاده بیشتر مشخص شد که انتظارات کاربر در مورد رفتار ورودی بسیار وابسته به نوع ابزار است. همچنین، استایلهای «غیرفعال» تا آنجا که به سیستم ورودی اندروید مربوط میشود، از نوع ابزار FINGER هستند.
- انواع ابزارهای پیشفرض FINGER برای اشاره و MOUSE برای اشارهگر هستند.