Recyclerview

להציג קבוצות גדולות של נתונים בממשק המשתמש תוך צמצום השימוש בזיכרון.

בטבלה הזו מפורטים כל פריטי המידע בקבוצה androidx.recyclerview.

פריט מידע שנוצר בתהליך פיתוח (Artifact) גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
recyclerview 1.4.0 - - -
recyclerview-selection 1.2.0 - - ‎1.3.0-alpha01
הספרייה הזו עודכנה לאחרונה ב-17 בדצמבר 2025

הצהרה על יחסי תלות

כדי להוסיף תלות ב-RecyclerView, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.

אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ 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"
}

Kotlin

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")
}

מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

Recyclerview

גרסה 1.4

גרסה 1.4.0

‫15 בינואר 2025

androidx.recyclerview:recyclerview:1.4.0 מופץ. גרסה 1.4.0 מכילה את השמירות האלה.

שינויים חשובים מאז RecyclerView 1.3.2

  • Adaptive תמיכה בקצב רענון: RecyclerView עכשיו מתבצעת קריאה ל-setFrameContentVelocity כשמתבצע גלילה באמצעות OverScroller (למשל, כשמבצעים גלילה מהירה או גלילה חלקה). (I8f8a4)

גרסה ‎1.4.0-rc01

‫18 בספטמבר 2024

androidx.recyclerview:recyclerview:1.4.0-rc01 יוצאת לאור, ללא שינויים מאז 1.4.0-alpha02/. גרסה ‎1.4.0-rc01 מכילה את השמירות האלה.

שינויים מאז גרסה 1.3.2

הערה לגבי תאימות: הגרסה הזו תתבצע קומפילציה רק מול API 35 (Vanilla Ice Cream) SDK ומעלה. אם מופיעות אזהרות של AGP ‏ (פלאגין של Android Gradle) כשמשדרגים, אפשר להסתיר אותן.

תכונות חדשות

  • Adaptive תמיכה בקצב רענון: 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 trace sections, ותיוג של RV prefetches כ-'forced - needed next frame' אם צפוי שימוש בהם בפריים הבא, ולכן צריך להתחיל לעבוד איתם בהקדם האפשרי. (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 (Vanilla Ice Cream) SDK ומעלה. אם מופיעות אזהרות של AGP ‏ (פלאגין של Android Gradle) כשמשדרגים, אפשר להסתיר אותן.

גרסה ‎1.4.0-alpha02

‫7 באוגוסט 2024

androidx.recyclerview:recyclerview:1.4.0-alpha02 מופץ. גרסה ‎1.4.0-alpha02 מכילה את השמירות האלה.

הערה לגבי תאימות: הגרסה הזו תתבצע קומפילציה רק מול API 35 (Vanilla Ice Cream) SDK ומעלה. אם מופיעות אזהרות של AGP ‏ (פלאגין של Android Gradle) כשמשדרגים, אפשר להסתיר אותן.

תכונות חדשות

  • תמיכה בקצב רענון משתנה: RecyclerView קורא עכשיו ל-setFrameContentVelocity כשהוא גולל באמצעות OverScroller (למשל, כשמבצעים גלילה מהירה או גלילה חלקה). (I8f8a4)

שינויים ב-API

  • ‫Deprecated ViewCompat.LAYOUT_DIRECTION_ APIs (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 trace sections, ותיוג של RV prefetches כ-'forced - needed next frame' אם צפוי שימוש בהם בפריים הבא, ולכן צריך להתחיל לעבוד איתם בהקדם האפשרי. (I8ec3e, b/309523615)
  • מעדכנים את compileSdk ל-35 (פרטים נוספים מופיעים בקטע 'הערה לגבי תאימות' למעלה). 5dc41be

External Contribution

  • המאפיין GestureDetectorCompat הוצא משימוש כי המאפיין GestureDetector זמין ב-minSdk. (Icc4cd)

גרסה ‎1.4.0-alpha01

‫18 באוקטובר 2023

androidx.recyclerview:recyclerview:1.4.0-alpha01 מופץ. גרסה ‎1.4.0-alpha01 מכילה את השמירות האלה.

שינויים ב-API

  • מוסיפים את RecyclerView$LayoutManager#isLayoutReversed API. (I4970e)

תיקוני באגים

  • תיקון באג שגרם לקריסות ספורדיות במהלך אנימציות (I42f22b) (כלול גם בגרסה 1.3.2)

גרסה 1.3

גרסה 1.3.2

‫18 באוקטובר 2023

androidx.recyclerview:recyclerview:1.3.2 מופץ. גרסה 1.3.2 מכילה את השמירות האלה.

תיקוני באגים

  • תיקון באג שגורם לקריסות ספורדיות במהלך אנימציות. (I42f22b)

גרסה 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 מכילה את השמירות האלה.

משתמשים ב-ViewPager2 צריכים לעדכן לגרסה 1.1.0-beta02 לפחות כשמעדכנים לגרסה הזו של RecyclerView כדי למנוע קריסות.

שינויים ב-API

  • נוספו methods חדשים מסוג setDebugAssertionsEnabled ו-setVerboseLoggingEnabled שיכולים לעזור בניפוי באגים בבעיות שקשורות ל-RecyclerView באפליקציות. (I514b9)

תיקוני באגים

  • תיקון קריסות למשתמשים ב-ViewTreeLifecycleOwner (כולל ComposeView) על ידי חיבור מחדש זמני של תצוגות שהוסרו באופן זמני כשמתקשרים אל onBind. (I7244f2c, ‏ b/265347515, ‏ b/283288295)

גרסה 1.3.0

‫8 במרץ 2023

androidx.recyclerview:recyclerview:1.3.0, ללא שינויים מאז גרסה 1.3.0-rc01. גרסה 1.3.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 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 מכילה את השמירות האלה.

  • לא בוצעו שינויים מאז הגרסה האחרונה

גרסה ‎1.3.0-beta02

‫10 באוגוסט 2022

androidx.recyclerview:recyclerview:1.3.0-beta02 מופץ. גרסה ‎1.3.0-beta02 מכילה את השמירות האלה.

שינויים ב-API

  • הוסרו הערות לגבי מאפיין המציין אם ערך יכול להיות ריק (nullability) שנוספו בגרסה 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

  • הוספנו אנוטציות לגבי מאפיין המציין אם ערך יכול להיות ריק (nullability) למספר שיטות ופרמטרים כדי לשפר את האזהרות של כלי לאיתור שגיאות בקוד (lint) למשתמשי Java ואת יכולת הפעולה ההדדית למשתמשי Kotlin. יכול להיות שזה שינוי שובר תאימות למקור עבור חלק מהמשתמשים ב-Kotlin, ושיגרום לאזהרות או לשגיאות נוספות של lint אצל חלק מהמשתמשים ב-Java. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)

תיקוני באגים

  • כדי לוודא ששירותי הנגישות יתייחסו לרשתות כרשתות, צריך להגדיר שם מחלקה של פרטי צומת נגישות. (I12812)

גרסה ‎1.3.0-alpha02

‫6 באפריל 2022

androidx.recyclerview:recyclerview:1.3.0-alpha02 מופץ. גרסה ‎1.3.0-alpha02 מכילה את השמירות האלה.

שינויים ב-API

  • נוספו שיטות ניסיוניות של BuildCompat לגרסאות SDK עתידיות (Iafd82, ‏ b/207528937)
  • נוספה שיטה חדשה ConcatAdapter.getWrappedAdapterAndPosition כדי לאפשר אחזור של פרטי מתאם עטוף במצבים שבהם אין ViewHolder, כמו SpanSizeLookup (I2bd4c, ‏ b/191543920)

תיקוני באגים

  • שילוב עם ספריית PoolingContainer החדשה של AndroidX‏ (Ib89d2)
  • שינוי מרחק הגלילה לפעולת נגישות (If74ae)

גרסה ‎1.3.0-alpha01

‫15 בספטמבר 2021

androidx.recyclerview:recyclerview:1.3.0-alpha01 מופץ. גרסה ‎1.3.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו תמיכה ב-RecyclerView עם גלילה מעבר לקצה. (Iab877)

גרסה 1.2

גרסה 1.2.1

‫2 ביוני 2021

androidx.recyclerview:recyclerview:1.2.1 מופץ. גרסה 1.2.1 מכילה את השמירות האלה.

תיקוני באגים

  • הפונקציה ViewHolders בתוך ConcatAdapter מחזירה עכשיו את המיקום הנכון של המתאם כשמבצעים שאילתה ב-callback של onViewRecycled. (b/187339376)

גרסה 1.2.0

‫7 באפריל 2021

androidx.recyclerview:recyclerview:1.2.0 מופץ. גרסה 1.2.0 מכילה את השמירות האלה.

שינויים משמעותיים מאז גרסה 1.1.0

ConcatAdapter: המתאם החדש הזה מאפשר לכם לשרשר בקלות כמה מתאמים באותו RecyclerView. מידע נוסף זמין בפוסט בבלוג.

שחזור מצב עצלני: עכשיו אפשר להשהות את שחזור המצב של RecyclerView Adapter עד שהתוכן שלו נטען. פרטים נוספים מופיעים במאמרי העזרה.

גרסה ‎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 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו תמיכה בהוספה של כמה 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 מכילה את השמירות האלה.

תיקוני באגים

  • נפתרה בעיה שבה אם לרכיב RecyclerView יש רק פריט אחד והוא במצב ממוקד, העברת המיקוד קדימה או אחורה לא תזיז את המיקוד. (6f36b3)
  • תוקנה ArrayIndexOutOfBoundsException ב-StaggeredGridLayoutManager (49b601, ‏ b/122303625, ‏ b/74877618, ‏ b/160193663, ‏ b/37086625)
  • תוקן באג במדידה שבו בנסיבות מסוימות, RecyclerView לא הציג את רכיבי הצאצא שלו. (89040c, b/138734786)

פריטי תוכן שהוספת

  • תודה לקולין קרווינקל מטעם פייסבוק על התרומה!

גרסה ‎1.2.0-alpha04

‫24 ביוני 2020

androidx.recyclerview:recyclerview:1.2.0-alpha04 מופץ. גרסה ‎1.2.0-alpha04 מכילה את השמירות האלה.

שינויים ב-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 מכילה את השמירות האלה.

תכונות חדשות

  • ל-RecyclerView יש עכשיו method‏ 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.

תכונות חדשות

  • MergeAdapter

    • MergeAdapter: מתאם RecyclerView חדש שיכול לשלב כמה מתאמים באופן לינארי.
    MyAdapter adapter1 = ...;
    AnotherAdapter adapter2 = ...;
    MergeAdapter merged = new MergeAdapter(adapter1, adapter2);
    recyclerView.setAdapter(mergedAdapter);
    

    בדוגמה שלמעלה, MergeAdapter יציג פריטים מ-adapter1 ואחריהם פריטים מ-adapter2.

  • RecyclerView.Adapter lazy state restoration:

    • נוסף API חדש למחלקה RecyclerView.Adapter שמאפשר לאובייקט Adapter לשלוט במועד שבו צריך לשחזר את מצב הפריסה.

    • לדוגמה, אפשר להתקשר אל:

    myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
    

    כדי לגרום ל-RecyclerView להמתין עד שהמתאם לא יהיה ריק לפני שחזור מיקום הגלילה.

  • המאפיינים CollectionInfo ו-CollectionItemInfo לא יאוכלסו יותר כברירת מחדל.

    • אם רוצים ששירותי הנגישות (לדוגמה, Talkback) ימשיכו לציין למשתמש את מספר הפריטים ואת אינדקס הפריטים, צריך לאכלס את CollectionInfo ואת CollectionItemInfo באופן ידני.

    • האובייקטים האלה לא מאוכלסים יותר במסגרת כי המסגרת לא יכולה לקבוע את מספר הפריטים כפי שהמשתמש רואה אותם (כמו מפרידים, כותרות או פריטים של RecyclerView שמייצגים כמה פריטים שהמשתמש רואה).

תיקוני באגים

  • ‫RecyclerView לא מבצע יותר עיגון בתצוגות מחוץ לאזור התצוגה כשגודל אזור התצוגה משתנה
  • תוקן באג ב-DiffUtil שבו יכול להיות שההבדל יחושב בצורה שגויה אם פריט מקורי ברשימה הראשונה משוכפל כמה פעמים ברשימה השנייה. (b/123376278)

גרסה ‎1.2.0-alpha01

18 בדצמבר 2019

androidx.recyclerview:recyclerview:1.2.0-alpha01 מופץ. גרסה ‎1.2.0-alpha01 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנו בעיות קלות ב-FastScroller שקשורות לציור מימין לשמאל ולדיוק המגע (b/143789932, ‏ aosp/1130438)
  • תוקן קראש ב-ItemTouchHelper כשהוא הוסר מ-RecyclerView בזמן שהאנימציות של ItemTouchHelper פעלו (b/140447176, ‏ aosp/1167575)

גרסה 1.1

גרסה 1.1.0

20 בנובמבר 2019

androidx.recyclerview:recyclerview:1.1.0 מופץ. גרסה 1.1.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.0.0

  • PagerSnapHelper ו-LinearSnapHelper לוקחים עכשיו בחשבון את הריווח הפנימי של RecyclerView, ללא קשר לערך של clipToPadding (b/139452422,‏ b/139012032,‏ aosp/1103182,‏ aosp/1106715,‏ aosp/1130728)
  • המאפיין RecyclerView.setLayoutTransition(LayoutTransition) הוצא משימוש באופן רשמי, ויחזיר את השגיאה IllegalArgumentException אם הוא יופעל עם ערך שאינו null. במקום זאת, אתם צריכים להשתמש ב-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 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה שגרמה להודעה 'האפליקציה לא מגיבה' כשמבטלים את ההגדרה RecyclerViewAccessibilityDelegate.ItemDelegate (aosp/1138057, aosp/1133434)

גרסה ‎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, פחות הריווח הפנימי, למרות הערך של clipToPadding. (aosp/1130728)

תיקוני באגים

  • תוקנה בעיה שבה RecyclerView יצר צמתי נגישות כפולים עבור צאצאים של RecyclerView. (aosp/1130618)
  • תוקנה בעיה שבה היררכיות וירטואליות של נגישות ב-RecyclerViews לא פעלו.
  • תוקנה הבעיה שבה לא נעשה שימוש ב-ItemDelegates מותאמים אישית.

גרסה ‎1.1.0-beta04

‫5 בספטמבר 2019

androidx.recyclerview:recyclerview:1.1.0-beta04 מופץ. כאן אפשר לראות את השמירות שכלולות בגרסה הזו.

תיקוני באגים

  • הפונקציות PagerSnapHelper ו-LinearSnapHelper מתחשבות עכשיו בריווח הפנימי של RecyclerView, ללא קשר לערך של clipToPadding (b/139452422,‏ b/139012032,‏ aosp/1103182,‏ aosp/1106715)
  • תוקן באג שבו RecyclerView לא מנע יירוט של מגע כשגלילה מקדימה מוטמעת גרמה ל-NestedScrollingParent לגלול (b/138668210, ‏ aosp/1105373). הדבר מועיל לספריות כמו ViewPager2.
  • ה-RecyclerView עובר עכשיו באופן עקבי אל SCROLL_STATE_DRAGGING לפני שמתבצעת שליחה של גלילות מקדימות מוטמעות (aosp/1105373)
  • גלילה מקדימה מוטמעת לא מתבצעת יותר לפני שהמחוות חורגות מסף המגע (b/139530818, ‏ aosp/1105373)
  • הארגומנטים dx ו-dy שנשלחים ל-pre-scrolls מוטמעים כשה-RecyclerView לא יכול לגלול בכיוון הזה (aosp/1105373)

גרסה ‎1.1.0-beta03

‫15 באוגוסט 2019

androidx.recyclerview:recyclerview:1.1.0-beta03 מופץ. כאן אפשר לראות את השמירות שכלולות בגרסה הזו.

שינויים ב-API

  • הווידג'ט RecyclerView שולח עכשיו את מרחקי הגלילה באמצעות View.onScrollChanged(int l, int t, int oldl, int oldt), כך ששירותי הנגישות מקבלים הודעה מדויקת על שינויים בגלילה. (aosp/1007823)

תיקוני באגים

  • תוקן באג חמור של גלישת מחסנית (stack overflow) שקשור ל-RecyclerView ולנגישות. (aosp/1099577)

גרסה ‎1.1.0-beta02

‫7 באוגוסט 2019

androidx.recyclerview:recyclerview:1.1.0-beta02 מופץ. כאן אפשר לראות את השמירות שכלולות בגרסה הזו.

תכונות חדשות

  • ל-RecyclerView יש עכשיו מאפיין סגנון ברירת מחדל: recyclerViewStyle, שמאפשר להגדיר את סגנון ברירת המחדל בעיצוב

תיקוני באגים

  • תוקן באג שבו RecyclerView לא מנע יירוט של מגע כשגלילה שלו גרמה לגלילה של NestedScrollingParent. (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)

שינויים ב-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 מופצים. כאן אפשר לראות את השמירות שכלולות בגרסה הזו.

תכונות חדשות

  • LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]) אפשר לשנות את הערך של המאפיין הזה כדי להתאים אישית את כמות השטח הנוסף שצריך להוסיף משני הצדדים של RecyclerView המשויך. (aosp/931259)

שינויים ב-API

  • נוסף API לאחזור DividerItemDecoration drawable ‏ (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 מופץ. כאן אפשר לראות את השמירות שכלולות בגרסה הזו.

תיקוני באגים

  • בעבר, לא הייתה אפשרות ליירט את ACTION_UP ב-OnItemTouchListener של RV, ולכן לא הייתה אפשרות לחסום קוד אחר מלהגיב ל-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) ומעבירים את הערך true.
    • מידע נוסף זמין במאמרי העזרה בנושא GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean).

תיקוני באגים

  • נגישות: הייתה באג שבו אחרי ש-ViewHolder עבר מיחזור ואז שויך מחדש, ה-ItemDelegate שמשויך ל-RecyclerViewAccessibilityDelegate של RecyclerView לא שויך ל-itemView של ViewHolder, ולכן הנגישות נפגעה. הבעיה הזו תוקנה (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 אם הוא יופעל עם ערך שאינו null. (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 לא הייתה עקבית עם ההתנהגות של onInterceptTouchEvent ושל onTouchEvent במערכת התצוגה (aosp/721235)
  • תוקנו כמה באגים במקרים קיצוניים שקשורים לגלילה חלקה (aosp/729718, ‏ aosp/747168, ‏ aosp/812576)
  • תוקנה אסטרטגיית ההצמדה ב-PagerSnapHelper כדי לטפל בתצוגות לא טיפוסיות של חלונות צאט (aosp/795752)

androidx.recyclerview-selection 1.1.0-alpha01

תיקוני באגים

  • תוקנה הבעיה ConcurrentModificationException שבה מערך הנתונים השתנה כשמסירים את הבחירה.

RecyclerView-Selection

גרסה 1.3

גרסה ‎1.3.0-alpha01

‫17 בדצמבר 2025

androidx.recyclerview:recyclerview-selection:1.3.0-alpha01 מופץ. גרסה ‎1.3.0-alpha01 מכילה את השמירות האלה.

שינויים ב-API

  • הוספת אפשרות לנקודה פעילה בבחירה לניקוי הבחירה הקיימת (I0eae7, b/389814214) האפשרות הזו מעניקה למפתחים שליטה רבה יותר על הפעולות הבאות: כשמקישים או לוחצים על RecyclerView כדי לבחור פריט, האם פריטים אחרים שכבר נבחרו יישארו מסומנים או יבוטל הסימון שלהם.

גרסה 1.2

גרסה 1.2.0

‫20 במאי 2025

androidx.recyclerview:recyclerview-selection:1.2.0 מופץ. גרסה 1.2.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.1.0

  • תיקון של תנועות קטנות בעכבר שגורמות לקליקים להפוך לגרירות.
  • תוקנה בעיה שבה מיפוי המיקום/המפתח ב-KeyProvider אבד בזמן שהערך עדיין לא עבר מחזור.

גרסה ‎1.2.0-rc01

‫7 במאי 2025

androidx.recyclerview:recyclerview-selection:1.2.0-rc01 מופץ. גרסה ‎1.2.0-rc01 מכילה את השמירות האלה.

תיקוני באגים

  • תיקון של תנועות קטנות בעכבר שהופכות קליקים לגרירות. (Ie9106)

גרסה ‎1.2.0-beta01

‫9 באפריל 2025

androidx.recyclerview:recyclerview-selection:1.2.0-beta01 מופץ. גרסה ‎1.2.0-beta01 מכילה את השמירות האלה.

שינויים ב-API

תיקוני באגים

  • הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify nullness, שהן מסוג type-use. מפתחים ב-Kotlin צריכים להשתמש בארגומנט המהדר הבא כדי לאכוף שימוש נכון: -Xjspecify-annotations=strict (זו ברירת המחדל החל מגרסה 2.1.0 של מהדר Kotlin). ‫(I03b80, ‏ b/326456246)

גרסה ‎1.2.0-alpha01

‫5 במאי 2021

androidx.recyclerview:recyclerview-selection:1.2.0-alpha01 מופץ. גרסה ‎1.2.0-alpha01 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה שבה מיפוי המיקום/המפתח ב-KeyProvider אבד בזמן שהערך עדיין לא עבר מחזור. (b/145767095)

גרסה 1.1

גרסה 1.1.0

‫27 בינואר 2021

androidx.recyclerview:recyclerview-selection:1.1.0 מופץ. גרסה 1.1.0 מכילה את השמירות האלה.

שינויים משמעותיים מאז גרסה 1.0.0

  • שיפורים רבים ביציבות.
  • הוצאו משימוש methods מסוג withGestureTooltypes ו-withPointerTooltypes ב-SelectionTracker.Builder. השיטות האלה יוסרו בגרסה עתידית.

גרסה ‎1.1.0-rc03

‫1 באוקטובר 2020

androidx.recyclerview:recyclerview-selection:1.1.0-rc03 מופץ. גרסה ‎1.1.0-rc03 מכילה את השמירות האלה.

תיקוני באגים

תודה לסטפן קיסלר על בדיקת התיקונים והמשוב.

  • תוקנה בעיה שגרמה לכך ש-OnClickListeners של תצוגת צאצא נקראו באופן לא צפוי במהלך בחירה פעילה.
  • ‫Mouse handler (band-selection) > Handle unexpected scrolls gracefully. (b/167821507)

גרסה ‎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 בזמן שהבחירה ב-SelectionTracker הייתה פעילה (b/161162268)
  • עכשיו המערכת מטפלת ב-onRequestDisallowInterceptTouchEvent בצורה נכונה
  • תוקנה בעיה שבה ”Cannot call this method in a scroll callback” נראה במהלך גלילה בעכבר ב-Q
  • עדכנו את המסמכים (במיוחד ב-StableIdKeyProvider) כדי לציין בבירור את הדרישות של מופע RecyclerView

גרסה ‎1.1.0-rc01

‫5 בפברואר 2020

androidx.recyclerview:recyclerview-selection:1.1.0-rc01 מופץ. גרסה ‎1.1.0-rc01 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה שבה קשה לגלול ב-RecyclerView באמצעות בחירת תנועה אם הוא באינטראקציה עם AppBarLayout שניתן לגלול בו (aosp/1193934)

גרסה ‎1.1.0-beta01

4 בדצמבר 2019

androidx.recyclerview:recyclerview-selection:1.1.0-beta01 מופץ. גרסה ‎1.1.0-beta01 מכילה את השמירות האלה.

שיפורים כלליים ביציבות שקשורים לבדיקות הגנה ולניהול של מצב פנימי.

תיקוני באגים

  • שיפור בניהול של מצב הספרייה ובפרשנות של אירועי ביטול, מה שמוביל לשיפורים ביציבות.

שינויים ב-API

  • הוספנו פרמטר של סוג מקש בחירה למחלקות ולשיטות שבהן הוא היה חסר.
  • שיטות שהוצאו משימוש:
    • SelectionTracker.Builder#withPointerTooltype
    • SelectionTracker.Builder#withGestureTooltype
    • השיטות האלה נוצרו במטרה לאפשר למפתחים למפות התנהגויות של מצביעים או מחוות לסוגי כלים שאינם ברירת המחדל*. הכוונה הייתה טובה, אבל אחרי שימוש נוסף התברר שהציפיות של המשתמשים לגבי התנהגות הקלט מאוד ספציפיות לסוג הכלי. בנוסף, עטים אלקטרוניים 'פסיביים' הם מסוג FINGER מבחינת מערכת הקלט של Android.
    • ברירות המחדל של סוגי הכלים הן FINGER לתנועות ו-MOUSE לשימוש במצביע.