Recyclerview

مجموعه های بزرگی از داده ها را در رابط کاربری خود نمایش دهید و در عین حال مصرف حافظه را به حداقل برسانید.

این جدول تمام مصنوعات موجود در گروه androidx.recyclerview را فهرست می کند.

مصنوع انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
recyclerview 1.3.2 1.4.0-rc01 - -
recyclerview-selection 1.1.0 - - 1.2.0-alpha01
آخرین به روز رسانی این کتابخانه در: 18 سپتامبر 2024

اعلام وابستگی ها

برای افزودن وابستگی به RecyclerView، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل 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"
}

کاتلین

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-rc01

18 سپتامبر 2024

androidx.recyclerview:recyclerview:1.4.0-rc01 منتشر شد، بدون تغییر از 1.4.0-alpha02 /. نسخه 1.4.0-rc01 حاوی این commit ها است.

تغییرات از 1.3.2

نکته سازگاری : این نسخه فقط با API 35 (بستنی وانیلی) SDK یا بالاتر کامپایل می شود. اگر هنگام ارتقاء اخطارهای AGP (Android Gradle Plugin) را مشاهده کردید، می توانید آنها را سرکوب کنید.

ویژگی های جدید

  • پشتیبانی از نرخ نوسازی متغیر: RecyclerView اکنون setFrameContentVelocity هنگامی که از طریق OverScroller در حال پیمایش است (مانند ته نشین شدن از یک فلش یا اسکرول صاف) فراخوانی می کند. ( I8f8a4 )

تغییرات API

  • RecyclerView$LayoutManager#isLayoutReversed API را اضافه کنید. ( I4970e )

تغییرات دیگر

  • طرح دستی دسترسی به APIهای پلتفرم جدید حذف شد زیرا این به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا جدیدتر (مثلا R8 نسخه 3.3) و برای همه ساخت‌ها هنگام استفاده از AGP 8.1 یا بالاتر (به عنوان مثال D8 نسخه 8.1) اتفاق می‌افتد. به مشتریانی که از AGP استفاده نمی‌کنند، توصیه می‌شود به نسخه 8.1 یا بالاتر D8 به‌روزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( Ia60e0 , b/345472586 )
  • نوع نمای آیتم را به RecyclerView bind/create بخش های ردیابی اضافه کنید، و اگر انتظار می رود در فریم بعدی مورد استفاده قرار گیرد، پیش واکشی های RV را به عنوان "فریم بعدی اجباری - مورد نیاز" برچسب بزنید، و بنابراین باید در اسرع وقت کار را شروع کنید. ( I8ec3e , b/309523615 )
  • compileSdk به 35 به روز کنید (برای جزئیات به "یادداشت سازگاری" در بالا مراجعه کنید). 5dc41be

نسخه 1.4.0-beta01

21 آگوست 2024

androidx.recyclerview:recyclerview:1.4.0-beta01 منتشر شد، بدون تغییر از 1.4.0-alpha02 . نسخه 1.4.0-beta01 حاوی این تعهدات است.

نکته سازگاری : این نسخه فقط با API 35 (بستنی وانیلی) SDK یا بالاتر کامپایل می شود. اگر هنگام ارتقاء اخطارهای AGP (Android Gradle Plugin) را مشاهده کردید، می توانید آنها را سرکوب کنید.

نسخه 1.4.0-alpha02

7 آگوست 2024

androidx.recyclerview:recyclerview:1.4.0-alpha02 منتشر شد. نسخه 1.4.0-alpha02 حاوی این تعهدات است.

نکته سازگاری : این نسخه فقط با API 35 (بستنی وانیلی) SDK یا بالاتر کامپایل می شود. اگر هنگام ارتقاء اخطارهای AGP (Android Gradle Plugin) را مشاهده کردید، می توانید آنها را سرکوب کنید.

ویژگی های جدید

  • پشتیبانی از نرخ نوسازی متغیر: RecyclerView اکنون setFrameContentVelocity هنگامی که از طریق OverScroller در حال پیمایش است (مانند ته نشین شدن از یک فلش یا اسکرول صاف) فراخوانی می کند. ( I8f8a4 )

تغییرات API

  • APIهای ViewCompat.LAYOUT_DIRECTION_ منسوخ شده ( I51710 , b/317055535 )
  • RecyclerView$LayoutManager#isLayoutReversed API را اضافه کنید. ( I4970e )

تغییرات دیگر

  • طرح دستی دسترسی به APIهای پلتفرم جدید حذف شد زیرا این به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا جدیدتر (مثلا R8 نسخه 3.3) و برای همه ساخت‌ها هنگام استفاده از AGP 8.1 یا بالاتر (به عنوان مثال D8 نسخه 8.1) اتفاق می‌افتد. به مشتریانی که از AGP استفاده نمی‌کنند، توصیه می‌شود به نسخه 8.1 یا بالاتر D8 به‌روزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( Ia60e0 , b/345472586 )
  • نوع نمای آیتم را به RecyclerView bind/create بخش های ردیابی اضافه کنید، و اگر انتظار می رود در فریم بعدی مورد استفاده قرار گیرد، پیش واکشی های RV را به عنوان "فریم بعدی اجباری - مورد نیاز" برچسب بزنید، و بنابراین باید در اسرع وقت کار را شروع کنید. ( I8ec3e , b/309523615 )
  • compileSdk به 35 به روز کنید (برای جزئیات به "یادداشت سازگاری" در بالا مراجعه کنید). 5dc41be

مشارکت خارجی

  • GestureDetectorCompat اکنون منسوخ شده است زیرا GestureDetector از minSdk در دسترس است. ( ICC4cd )

نسخه 1.4.0-alpha01

18 اکتبر 2023

androidx.recyclerview:recyclerview:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 حاوی این commit ها است.

تغییرات API

  • RecyclerView$LayoutManager#isLayoutReversed API را اضافه کنید. ( I4970e )

رفع اشکال

  • رفع اشکالی که باعث خرابی های پراکنده در طول انیمیشن ها می شود ( I42f22b ) (همچنین در 1.3.2 موجود است)

نسخه 1.3.2

نسخه 1.3.2

18 اکتبر 2023

androidx.recyclerview:recyclerview:1.3.2 منتشر شد. نسخه 1.3.2 حاوی این commit ها است.

رفع اشکال

  • رفع اشکالی که باعث خرابی های پراکنده در طول انیمیشن ها می شود. ( I42f22b )

نسخه 1.3.1

نسخه 1.3.1

26 جولای 2023

androidx.recyclerview:recyclerview:1.3.1 منتشر شد، بدون تغییر از 1.3.1-rc01. نسخه 1.3.1 حاوی این commit ها است.

برای یادداشت‌های انتشار نسخه قبلی، به صفحه یادداشت‌های انتشار ما مراجعه کنید

نسخه 1.3.1-rc01

24 مه 2023

androidx.recyclerview:recyclerview:1.3.1-rc01 منتشر شد. نسخه 1.3.1-rc01 حاوی این commit ها است.

کاربران ViewPager2 هنگام به‌روزرسانی به این نسخه از RecyclerView باید حداقل به نسخه 1.1.0-beta02 به‌روزرسانی شوند تا از خرابی جلوگیری کنند.

تغییرات API

  • روش‌های جدید setDebugAssertionsEnabled و setVerboseLoggingEnabled را اضافه کنید که می‌توانند به اشکال‌زدایی مسائل مربوط به RecyclerView در برنامه‌ها کمک کنند. ( I514b9 )

رفع اشکال

  • خرابی های کاربران ViewTreeLifecycleOwner (از جمله ComposeView ) را با پیوست کردن مجدد موقت نماهای موقتاً جدا شده هنگام تماس onBind برطرف کنید. ( 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 حاوی این commit ها است.

تغییرات مهم از 1.2.0

  • این نسخه دارای بهبودهای عملکردی است (که قبلاً در نسخه‌های 1.3.0-alpha02 و 1.3.0-beta01 گنجانده شده بود) هنگام استفاده با Jetpack Compose. اگر از Compose 1.2.0-beta02 یا بالاتر استفاده می‌کنید و از MyComposeAdapter و DisposeOnViewTreeLifecycleDestroyed ViewCompositionStrategy که در دستورالعمل‌های همکاری قبلی توضیح داده شده است، استفاده می‌کنید، باید این موارد را حذف کنید ، زیرا دیگر بهبودی نسبت به حالت پیش‌فرض نیستند.
  • روش جدید ConcatAdapter.getWrappedAdapterAndPosition اضافه شده است تا امکان بازیابی اطلاعات آداپتور پیچیده شده را در شرایطی که ViewHolder ندارید، مانند SpanSizeLookup ( I2bd4c , b/191543920 ) اضافه شده است.

نسخه 1.3.0-rc01

21 سپتامبر 2022

androidx.recyclerview:recyclerview:1.3.0-rc01 منتشر شد. نسخه 1.3.0-rc01 حاوی این commit ها است.

  • هیچ تغییری از آخرین نسخه منتشر نشده است

نسخه 1.3.0-beta02

10 آگوست 2022

androidx.recyclerview:recyclerview:1.3.0-beta02 منتشر شد. نسخه 1.3.0-beta02 حاوی این تعهدات است.

تغییرات API

  • حاشیه‌نویسی‌های پوچ‌پذیری حذف شده اضافه شده در 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 حاوی این تعهدات است.

ویژگی های جدید

  • این نسخه بتا شامل بهبودهای عملکردی است (که قبلاً در نسخه 1.3.0-alpha02 در هنگام استفاده با Jetpack Compose استفاده می‌شد. اگر از Compose 1.2.0-beta02 یا بالاتر استفاده می‌کنید و از MyComposeAdapter و DisposeOnViewTreeLifecycleDestroyed ViewCompositionStrategy استفاده می‌کنید، باید در دستورالعمل‌های تعامل قبلی توضیح داده شده باشد. اینها را حذف کنید ، زیرا دیگر بهبودی نسبت به حالت پیش فرض ندارند.

تغییرات API

  • حاشیه‌نویسی‌های پوچ‌پذیری برای تعدادی از روش‌ها و پارامترها برای بهبود هشدارهای پرز برای کاربران جاوا و قابلیت همکاری برای کاربران Kotlin اضافه شده است. این ممکن است برای برخی از کاربران Kotlin یک تغییر منبع شکن باشد و منجر به هشدار/خطاهای پرز اضافی برای برخی از کاربران جاوا شود. ( 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 حاوی این commit ها است.

تغییرات API

  • روش های آزمایشی BuildCompat را برای SDK های آینده اضافه می کند ( Iafd82 , b/207528937 )
  • روش جدید ConcatAdapter.getWrappedAdapterAndPosition اضافه شده است تا امکان بازیابی اطلاعات آداپتور پیچیده شده را در شرایطی که ViewHolder ندارید، مانند SpanSizeLookup ( I2bd4c ، b/191543920 ) اضافه شده است.

رفع اشکال

  • ادغام با کتابخانه جدید AndroidX PoolingContainer ( Ib89d2 )
  • فاصله پیمایش را برای عملکرد دسترس‌پذیری تنظیم می‌کند ( If74ae )

نسخه 1.3.0-alpha01

15 سپتامبر 2021

androidx.recyclerview:recyclerview:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

  • پشتیبانی از کشش Overscroll 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 حاوی این commit ها است.

رفع اشکال

  • مشکلی را برطرف کنید که در آن نگاشت کلید/موقعیت در KeyProvider از بین رفته است در حالی که ورودی هنوز بازیافت نشده است. ( b/145767095 )

نسخه 1.2.1

نسخه 1.2.1

2 ژوئن 2021

androidx.recyclerview:recyclerview:1.2.1 منتشر شد. نسخه 1.2.1 حاوی این commit ها است.

رفع اشکال

  • ViewHolder در داخل یک ConcatAdapter اکنون موقعیت صحیح آداپتور را هنگام درخواست در پاسخ به تماس onViewRecycled برمی‌گرداند. ( b/187339376 )

نسخه 1.2.0

نسخه 1.2.0

7 آوریل 2021

androidx.recyclerview:recyclerview:1.2.0 منتشر شد. نسخه 1.2.0 حاوی این commit ها است.

تغییرات عمده از 1.1.0

ConcatAdapter : این آداپتور جدید به شما اجازه می دهد تا به راحتی چندین آداپتور را در همان RecyclerView به هم متصل کنید. برای اطلاعات بیشتر به پست وبلاگ مراجعه کنید.

  • به عنوان بخشی از این تغییر، ViewHolder.getAdapterPosition منسوخ شده و با دو روش جدید جایگزین شده است:

بازیابی حالت تنبل : آداپتور RecyclerView اکنون می تواند بازیابی حالت را تا زمانی که محتویات آن بارگیری شود به تاخیر بیاندازد. برای جزئیات بیشتر به مستندات مراجعه کنید.

نسخه 1.2.0-rc01

24 مارس 2021

androidx.recyclerview:recyclerview:1.2.0-rc01 منتشر شد. نسخه 1.2.0-rc01 حاوی این commit ها است.

رفع اشکال

  • 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 حاوی این commit ها است.

ویژگی های جدید

  • اضافه شدن پشتیبانی برای اضافه کردن چندین RecyclerListener. ( I70ad8 , b/145767095 )

تغییرات API

  • RecyclerView.setRecyclerListener(RecyclerListener) منسوخ شده است. ( I70ad8 , b/145767095 )

نسخه 1.2.0-alpha05

22 جولای 2020

androidx.recyclerview:recyclerview:1.2.0-alpha05 منتشر شد. نسخه 1.2.0-alpha05 حاوی این commit ها است.

رفع اشکال

  • مشکل برطرف شد که در آن اگر RecyclerView فقط یک آیتم داشته باشد و فوکوس شده باشد، فوکوس کردن به جلو یا عقب باعث تغییر تمرکز نمی شود. ( 6f36b3 )
  • رفع یک ArrayIndexOutOfBoundsException در StaggeredGridLayoutManager ( 49b601 , b/122303625 , b/74877618 , b/160193663 , b/37086625 )
  • یک اشکال اندازه گیری را برطرف کرد که در شرایط خاص، RecyclerView به طور نامناسبی فرزندان خود را نشان نمی داد. ( 89040c , b/138734786 )

مشارکت های خارجی

  • با تشکر از Kolin Krewinkel از طرف فیس بوک برای مشارکت !

نسخه 1.2.0-alpha04

24 ژوئن 2020

androidx.recyclerview:recyclerview:1.2.0-alpha04 منتشر شد. نسخه 1.2.0-alpha04 حاوی این commit ها است.

تغییرات API

  • MergeAdapter به ConcatAdapter تغییر نام داده است تا از هرگونه سردرگمی با رفتارهای مختلف ادغام داده ها جلوگیری شود ( c0540c , b/158019211 ).

رفع اشکال

  • بهبود پیمایش خودکار هنگامی که همه موارد قابل مشاهده حذف می شوند ( fe8670 , b/154124815 )

نسخه 1.2.0-alpha03

29 آوریل 2020

androidx.recyclerview:recyclerview:1.2.0-alpha03 منتشر شد. نسخه 1.2.0-alpha03 حاوی این commit ها است.

ویژگی های جدید

  • RecyclerView اکنون یک متد nestedScrollBy دارد که امکان پیمایش برنامه‌ای را فراهم می‌کند که با پیمایش تودرتو همکاری می‌کند: ( Ibaa58 )

نسخه 1.2.0-alpha02

1 آوریل 2020

androidx.recyclerview:recyclerview:1.2.0-alpha02 منتشر شد. نسخه 1.2.0-alpha02 حاوی این commit ها است.

این و نسخه های بالاتر RecyclerView با نسخه های پایین تر ViewPager2 سازگار نیستند. اگر در حال حاضر از androidx.viewpager2:viewpager2:1.0.0 یا پایین‌تر استفاده می‌کنید، حتماً به androidx.viewpager2:viewpager2:1.1.0-alpha01 به‌روزرسانی کنید.

ویژگی های جدید

  • MergeAdapter

    • MergeAdapter : یک آداپتور RecyclerView جدید که می تواند چندین آداپتور را به صورت خطی ترکیب کند.
    MyAdapter adapter1 = ...;
    AnotherAdapter adapter2 = ...;
    MergeAdapter merged = new MergeAdapter(adapter1, adapter2);
    recyclerView.setAdapter(mergedAdapter);
    

    برای نمونه بالا، MergeAdapter مواردی را از adapter1 و سپس adapter2 را ارائه می دهد.

  • RecyclerView.Adapter Lazy Restoration :

    • یک API جدید به کلاس RecyclerView.Adapter اضافه شده است که به آداپتور اجازه می دهد تا زمان بازیابی وضعیت طرح بندی را کنترل کند.

    • برای مثال می توانید تماس بگیرید:

    myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
    

    برای اینکه RecyclerView قبل از بازیابی موقعیت اسکرول منتظر بماند تا آداپتور خالی نشود.

  • CollectionInfo و CollectionItemInfo دیگر به طور پیش فرض پر نخواهند شد.

    • اگر می‌خواهید که خدمات دسترسی (مثلاً Talkback) همچنان تعداد و فهرست آیتم را به کاربر نشان دهد، باید خودتان CollectionInfo و CollectionItemInfo را پر کنید.

    • این اشیاء دیگر در چارچوب پر نمی‌شوند زیرا چارچوب نمی‌تواند تعداد موارد درک شده توسط کاربر را تعیین کند (مانند جداکننده‌ها، سرصفحه‌ها یا موارد RecyclerView که چندین مورد درک شده را نشان می‌دهند).

رفع اشکال

  • RecyclerView اکنون از لنگر انداختن بر روی Views خارج از viewport هنگامی که اندازه viewport تغییر کرده است اجتناب می کند
  • یک اشکال در DiffUtil رفع شد که ممکن است زمانی که یک مورد اصلی در لیست اول چندین بار در لیست دوم تکرار می شود، تفاوت را اشتباه محاسبه کند. ( b/123376278 )

نسخه 1.2.0-alpha01

18 دسامبر 2019

androidx.recyclerview:recyclerview:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 حاوی این commit ها است .

رفع اشکال

  • رفع مشکلات جزئی FastScroller مربوط به طراحی RTL و دقت لمسی ( b/143789932 ، aosp/1130438 )
  • رفع خرابی در ItemTouchHelper هنگام حذف از RecyclerView در حالی که انیمیشن‌های 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

  • PagerSnapHelper و LinearSnapHelper اکنون بدون توجه به مقدار clipToPadding ، padding RecyclerView را در نظر می گیرند ( b/139452422 , b/139012032 , aosp/1103182 , aosp/110672811 , aosp/110672811,30 )
  • 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 ، که اجازه می‌دهد سبک پیش‌فرض را در موضوع خود تنظیم کنید.
  • API اقدامات دسترسی ViewCompat دیگر RecyclerView ItemDelegate را خراب نمی کند.
  • 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 حاوی این commit ها است .

رفع اشکال

  • هنگام لغو RecyclerViewAccessibilityDelegate.ItemDelegate ( aosp/1138057 ، aosp/1133434 ) "Application Not Responsing" رفع شد.

نسخه 1.1.0-beta05

9 اکتبر 2019

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 سفارشی استفاده نشده بود، رفع شد.

نسخه 1.1.0-beta04

5 سپتامبر 2019

androidx.recyclerview:recyclerview:1.1.0-beta04 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.

رفع اشکال

  • PagerSnapHelper و LinearSnapHelper اکنون بدون توجه به مقدار clipToPadding padding RecyclerView را در نظر می گیرند ( b/139452422 , b/139012032 , aosp/1103182 , aosp/1106715 )
  • هنگامی که پیش‌پیمایش تودرتو باعث می‌شد یک 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 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.

API تغییر می کند

  • 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 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.

ویژگی های جدید

  • RecyclerView اکنون یک ویژگی سبک پیش‌فرض دارد: recyclerViewStyle ، که اجازه می‌دهد سبک پیش‌فرض را در موضوع خود تنظیم کنید.

رفع اشکال

  • رفع اشکالی که در آن RecyclerView هنگام پیمایش، رهگیری لمسی را ممنوع نمی‌کرد و باعث اسکرول NestedScrollingParent می‌شد. ( b/131115697 , aosp/1055911 )

نسخه 1.1.0-beta01

2 جولای 2019

androidx.recyclerview:recyclerview:1.1.0-beta01 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.

ویژگی های جدید

  • RecyclerView اکنون در پیمایش تودرتو، زمانی که یک اسکرول از طریق رویدادهای دسترس‌پذیری آغاز می‌شود، شرکت می‌کند. ( aosp/973584 )

نسخه 1.1.0-alpha06

5 ژوئن 2019

androidx.recyclerview:recyclerview:1.1.0-alpha06 و androidx.recyclerview:recyclerview-selection:1.1.0-alpha06 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.

ویژگی های جدید

  • اضافه‌بار جدیدی از smoothScrollBy اضافه شده است: RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration) که به شما امکان می‌دهد مدت زمان انیمیشن را بر حسب میلی‌ثانیه مشخص کنید. ( aosp/952807 )

API تغییر می کند

  • 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 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.

ویژگی های جدید

  • LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]) را می توان برای سفارشی کردن مقدار فضای طرح بندی اضافی به هر طرف RecyclerView مرتبط اضافه کرد. ( aosp/931259 )

API تغییر می کند

  • افزودن API برای بازیابی 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 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.

رفع اشکال

  • RV OnItemTouchListener قبلاً نمی‌توانست در ACTION_UP رهگیری کند، و مانع از آن می‌شد که OnItemTouchListener کدهای دیگر را از پاسخگویی به ACTION_UP مسدود کند. اکنون این مشکل برطرف شده است: ( aosp/916137 )

نسخه 1.1.0-alpha03

13 مارس 2019

androidx.recyclerview:recyclerview:1.1.0-alpha03 منتشر شد. لیست کامل commit های موجود در این نسخه را می توانید در اینجا بیابید.

ویژگی های جدید

  • GridLayoutManager : انتخاب با وضوح بالاتر، تخمین ابعاد نوار پیمایش GridLayoutManager ( aosp/838836 ):
    • از اطلاعات دهانه برای تخمین ابعاد نوار پیمایش برای GridLayoutManager استفاده می کند.
    • برای فعال کردن، GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean) به صورت true فراخوانی کنید.
    • برای اطلاعات بیشتر به مستندات GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean) مراجعه کنید.

رفع اشکال

  • دسترسی: یک اشکال وجود داشت که در آن یک بار ViewHolder بازیافت می‌شد و سپس Rebound می‌شد، ItemDelegate مرتبط با RecyclerViewAccessibilityDelegate RecyclerView با آیتم ViewHolder مرتبط نمی‌شد، که Accessibility را شکست. اکنون این مشکل برطرف شده است ( aosp/917740 ).

نسخه 1.1.0-alpha02

30 ژانویه 2019

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 )

نسخه 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

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 با رفتار سیستم view onInterceptTouchEvent و onTouchEvent مطابقت نداشت ( aosp/721235 )
  • رفع چند اشکال لبه مربوط به پیمایش صاف ( aosp/729718 ، aosp/747168 ، aosp/812576 )
  • استراتژی snap ثابت در 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 حاوی این commit ها است.

تغییرات عمده از 1.0.0

  • بهبود پایداری متعدد
  • با متدهای withGestureTooltypes و withPointerTooltypes در SelectionTracker.Builder منسوخ شد. این روش ها در نسخه بعدی حذف خواهند شد.

RecyclerView-Selection نسخه 1.1.0-rc03

1 اکتبر 2020

androidx.recyclerview:recyclerview-selection:1.1.0-rc03 منتشر شد. نسخه 1.1.0-rc03 حاوی این commit ها است.

رفع اشکال

با تشکر از استفان کیسلر برای آزمایش اصلاحات و بازخورد.

  • مشکلی که در آن OnClickListeners به ​​طور غیرمنتظره ای در هنگام انتخاب فعال فراخوانی شده بود، برطرف شد.
  • کنترل کننده ماوس (انتخاب باند) > اسکرول های غیرمنتظره را با زیبایی مدیریت کنید. ( b/167821507 )

RecyclerView-Selection نسخه 1.1.0-rc02

2 سپتامبر 2020

androidx.recyclerview:recyclerview-selection:1.1.0-rc02 منتشر شد. نسخه 1.1.0-rc02 حاوی این commit ها است.

نکات برجسته

  • چندین رگرسیون از 1.0 در مدیریت ورودی آدرس داده شد.
  • کتابخانه به‌روزرسانی شد تا به روی onRequestDisallowInterceptTouchEvent احترام بگذارد، و به آن اجازه می‌دهد با ItemTouchHelper به خوبی بازی کند (فقط آن را با انگشت خود بکشید!).

رفع اشکال

  • مشکلی که کتابخانه انتخاب رویدادهای GestureDetector اشتباه تفسیر می‌کرد که منجر به از دست رفتن ضربه‌ها در حین انتخاب فعال می‌شد، برطرف شد ( b/165030422 )
  • مشکلی که در آن انتخاب برای منعکس کردن موارد حذف شده از آداپتور به روز نشد، برطرف شد. ( b/138932671 )
  • رفع مشکلی که در آن موارد RecyclerView روی رویدادهای کلیک فعال می‌شوند در حالی که SelectionTracker دارای انتخاب فعال است ( b/161162268 )
  • اکنون onRequestDisallowInterceptTouchEvent را به درستی مدیریت می کند
  • رفع مشکل ”Cannot call this method in a scroll callback” که در حین پیمایش ماوس در Q مشاهده می شود
  • اسناد به روز شده (مخصوصاً در StableIdKeyProvider ) برای بیان واضح الزامات نمونه RecyclerView

Recyclerview-Selection نسخه 1.1.0-rc01

5 فوریه 2020

androidx.recyclerview:recyclerview-selection:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است .

رفع اشکال

  • مشکلی که 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، که منجر به بهبود ثبات می شود.

API تغییر می کند

  • پارامتر نوع کلید انتخابی به کلاس ها و متدهایی که گم شده اند اضافه شده است.
  • روش های منسوخ شده:
    • SelectionTracker.Builder#withPointerTooltype
    • SelectionTracker.Builder#withGestureTooltype
    • این روش‌ها با این هدف وجود داشتند که توسعه‌دهندگان ممکن است رفتارهای اشاره‌گر یا اشاره‌ای را به انواع ابزارهایی غیر از پیش‌فرض*ها ترسیم کنند. هدف خوب بود، اما پس از استفاده بیشتر مشخص شد که انتظارات کاربر در مورد رفتار ورودی بسیار خاص نوع ابزار است. همچنین، تا آنجا که به سیستم ورودی اندروید مربوط می شود، استایل های "غیرفعال" از نوع ابزار FINGER هستند.
    • انواع ابزار پیش فرض عبارتند از FINGER برای اشاره و ماوس برای اشاره گر.