RecyclerView
בטבלה הזו מפורטים כל פריטי המידע בקבוצה androidx.recyclerview.
| פריט מידע שנוצר בתהליך פיתוח (Artifact) | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| recyclerview | 1.4.0 | - | - | - |
| recyclerview-selection | 1.2.0 | - | - | 1.3.0-alpha01 |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-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.
גרסה 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#isLayoutReversedAPI. (I4970e)
שינויים אחרים
- הסרנו את האפשרות ליצור באופן ידני תרשים של הגישה לממשקי API חדשים של הפלטפורמה, כי זה קורה באופן אוטומטי באמצעות מידול API כשמשתמשים ב-R8 עם AGP 7.3 ואילך (למשל R8 גרסה 3.3) ובכל הגרסאות כשמשתמשים ב-AGP 8.1 ואילך (למשל D8 גרסה 8.1). לקוחות שלא משתמשים ב-AGP מומלץ לעדכן לגרסה 8.1 ואילך של D8. למידע נוסף, מומלץ לעיין במאמר הזה. (Ia60e0, b/345472586)
- הוספת סוג התצוגה של הפריט ל-
RecyclerViewbind/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
- APIs
ViewCompat.LAYOUT_DIRECTION_שיצאו משימוש (I51710, b/317055535) - מוסיפים את
RecyclerView$LayoutManager#isLayoutReversedAPI. (I4970e)
שינויים אחרים
- הסרנו את האפשרות ליצור באופן ידני תרשים של הגישה לממשקי API חדשים של הפלטפורמה, כי זה קורה באופן אוטומטי באמצעות מידול API כשמשתמשים ב-R8 עם AGP 7.3 ואילך (למשל R8 גרסה 3.3) ובכל הגרסאות כשמשתמשים ב-AGP 8.1 ואילך (למשל D8 גרסה 8.1). לקוחות שלא משתמשים ב-AGP מומלץ לעדכן לגרסה 8.1 ואילך של D8. למידע נוסף, מומלץ לעיין במאמר הזה. (Ia60e0, b/345472586)
- הוספת סוג התצוגה של הפריט ל-
RecyclerViewbind/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#isLayoutReversedAPI. (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 מכילה את השמירות האלה.
משתמשים ב-ViewPager2 צריכים לעדכן לגרסה 1.1.0-beta02 לפחות כשהם מעדכנים לגרסה הזו של RecyclerView כדי למנוע קריסות.
שינויים ב-API
- נוספו methods חדשים מסוג
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 מכילה את השמירות האלה.
שינויים חשובים מאז גרסה 1.2.0
- הגרסה הזו כוללת שיפורים בביצועים (שנכללו קודם בגרסאות 1.3.0-alpha02 ו-1.3.0-beta01) כשמשתמשים בה עם Jetpack Compose. אם אתם משתמשים ב-Compose בגרסה
1.2.0-beta02ומעלה, והשתמשתם ב-MyComposeAdapterוב-DisposeOnViewTreeLifecycleDestroyedViewCompositionStrategyשמתוארים בהנחיות הקודמות בנושא יכולת פעולה הדדית, עליכם להסיר אותם, כי הם כבר לא משפרים את מצב ברירת המחדל. - נוספה שיטה חדשה
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וב-DisposeOnViewTreeLifecycleDestroyedViewCompositionStrategyשמתוארים בהנחיות הקודמות בנושא יכולת פעולה הדדית, עליכם להסיר אותם, כי הם כבר לא משפרים את מצב ברירת המחדל.
שינויים ב-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.3.0 של RecyclerView-Selection
גרסה 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.0 של RecyclerView-Selection
גרסה 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
- APIs
ViewCompat.LAYOUT_DIRECTION_שיצאו משימוש (I51710, b/317055535)
תיקוני באגים
- הספרייה הזו משתמשת עכשיו באנוטציות של 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.2.1
גרסה 1.2.1
2 ביוני 2021
androidx.recyclerview:recyclerview:1.2.1 מופץ. גרסה 1.2.1 מכילה את השמירות האלה.
תיקוני באגים
- הפונקציה
ViewHolders בתוךConcatAdapterמחזירה עכשיו את המיקום הנכון של המתאם כשמבצעים שאילתה ב-callback של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 מחזירה את המיקום ביחס לאובייקט Adapter שקשר את הפריט הזה.
- הפונקציה getAbsoluteAdapterPosition מחזירה את המיקום ביחס ל-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שחזור מצב עצלני:נוסף API חדש למחלקה
RecyclerView.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.0
גרסה 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, פחות padding, למרות הערך של 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 לאחזור של
DividerItemDecorationdrawable (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 מופץ. כאן אפשר לראות את הרשימה המלאה של פעולות ה-commit שכלולות בגרסה הזו.
תכונות חדשות
-
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כשמערך הנתונים השתנה עם הסרת הבחירה.
גרסה 1.1.0 של RecyclerView-Selection
גרסה 1.1.0 של RecyclerView-Selection
27 בינואר 2021
androidx.recyclerview:recyclerview-selection:1.1.0 מופץ. גרסה 1.1.0 מכילה את השמירות האלה.
שינויים משמעותיים מאז גרסה 1.0.0
- שיפורים רבים ביציבות.
- methods מסוג
withGestureTooltypesו-withPointerTooltypesשהוצאו משימוש ב-SelectionTracker.Builder. השיטות האלה יוסרו בגרסה עתידית.
גרסה 1.1.0-rc03 של RecyclerView-Selection
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 של RecyclerView-Selection
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 של Recyclerview-Selection
5 בפברואר 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc01 מופץ. גרסה 1.1.0-rc01 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה שבה קשה לגלול ב-RecyclerView באמצעות בחירת תנועה אם הוא מקיים אינטראקציה עם AppBarLayout שניתן לגלול בו (aosp/1193934)
גרסה 1.1.0-beta01 של RecyclerView-Selection
4 בדצמבר 2019
androidx.recyclerview:recyclerview-selection:1.1.0-beta01 מופץ. גרסה 1.1.0-beta01 מכילה את השמירות האלה.
שיפורים כלליים ביציבות שקשורים לבדיקות הגנה ולניהול של מצב פנימי.
תיקוני באגים
- שיפור בניהול של מצב הספרייה ובפרשנות של אירועי ביטול, מה שמוביל לשיפורים ביציבות.
שינויים ב-API
- הוספנו פרמטר של סוג מפתח בחירה למחלקות ולשיטות שבהן הוא היה חסר.
- שיטות שהוצאו משימוש:
- SelectionTracker.Builder#withPointerTooltype
- SelectionTracker.Builder#withGestureTooltype
- השיטות האלה נוצרו במטרה לאפשר למפתחים למפות התנהגויות של מצביעים או מחוות לסוגי כלים שונים מאלה שמוגדרים כברירת מחדל*. הכוונה הייתה טובה, אבל אחרי שימוש נוסף התברר שציפיות המשתמשים לגבי התנהגות הקלט הן מאוד ספציפיות לסוג הכלי. בנוסף, מערכת הקלט של Android מתייחסת לעיפרונות דיגיטליים 'פסיביים' כאל כלי מסוג FINGER.
- סוגי ברירת המחדל של כלי העבודה הם FINGER לתנועה ו-MOUSE למצביע.