Recyclerview
בטבלה הזו מפורטים כל הארטיפקטים בקבוצה androidx.recyclerview
.
פריט מידע שנוצר בתהליך פיתוח (Artifact) | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסה אלפא |
---|---|---|---|---|
recyclerview | 1.3.2 | 1.4.0-rc01 | - | - |
recyclerview-selection | 1.1.0 | - | - | 1.2.0-alpha01 |
הצהרת יחסי תלות
כדי להוסיף תלות ב-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" }
Kotlin
dependencies { implementation("androidx.recyclerview:recyclerview:1.3.2") // For control over item selection of both touch and mouse driven selection implementation("androidx.recyclerview:recyclerview-selection:1.1.0") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ל-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה הזו, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במסמכי התיעוד של Issue Tracker.
גרסה 1.4
גרסה 1.4.0-rc01
18 בספטמבר 2024
androidx.recyclerview:recyclerview:1.4.0-rc01
שוחררה, ללא שינויים מאז 1.4.0-alpha02/. גרסת 1.4.0-rc01 כוללת את ההוספות האלה.
שינויים מאז גרסה 1.3.2
הערה לגבי תאימות: הגרסה הזו תעבור הידור רק מול SDK של API 35 (Vanilla Ice Cream) ואילך. אם מופיעות אזהרות לגבי AGP (Android Gradle Plugin) במהלך השדרוג, אפשר לדכא אותן.
תכונות חדשות
- תמיכה בקצב רענון של
Adaptive
:RecyclerView
קורא עכשיו ל-setFrameContentVelocity
כשמתבצע גלילה באמצעותOverScroller
(למשל, כשהגלילה מסתיימת אחרי תנועה מהירה או גלילה חלקה). (I8f8a4)
שינויים ב-API
- מוסיפים את ה-API של
RecyclerView$LayoutManager#isLayoutReversed
. (I4970e)
שינויים אחרים
- הסרנו את התיאור הידני של הגישה לממשקי API חדשים של פלטפורמות, כי הגישה הזו מתבצעת באופן אוטומטי באמצעות בניית מודלים של ממשקי API כשמשתמשים ב-R8 עם AGP מגרסה 7.3 ואילך (למשל, R8 מגרסה 3.3) ובכל גרסאות ה-build כשמשתמשים ב-AGP מגרסה 8.1 ואילך (למשל, D8 מגרסה 8.1). לקוחות שלא משתמשים ב-AGP מומלצים לעדכן ל-D8 בגרסה 8.1 ואילך. למידע נוסף, מומלץ לעיין במאמר הזה. (Ia60e0, b/345472586)
- מוסיפים את סוג התצוגה של הפריט לקטע הקישור/יצירה של
RecyclerView
, ומתייגים את ה-prefetch של RV בתווית '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 כוללת את ההוספות האלה.
הערה לגבי תאימות: הגרסה הזו תעבור הידור רק מול SDK של API 35 (Vanilla Ice Cream) ואילך. אם מופיעות אזהרות של AGP (Android Gradle Plugin) במהלך השדרוג, אפשר לדכא אותן.
גרסה 1.4.0-alpha02
7 באוגוסט 2024
androidx.recyclerview:recyclerview:1.4.0-alpha02
משוחרר. גרסה 1.4.0-alpha02 כוללת את ההוספות האלה.
הערה לגבי תאימות: הגרסה הזו תעבור הידור רק מול SDK של API 35 (Vanilla Ice Cream) ואילך. אם מופיעות אזהרות של AGP (Android Gradle Plugin) במהלך השדרוג, אפשר לדכא אותן.
תכונות חדשות
- תמיכה בשיעור רענון משתנה: RecyclerView קורא עכשיו ל-
setFrameContentVelocity
כשהוא גולל דרך OverScroller (למשל, כשהוא מגיע למצב יציב אחרי תנועה מהירה או גלילה חלקה). (I8f8a4)
שינויים ב-API
- ממשקי API של
ViewCompat.LAYOUT_DIRECTION_
שהוצאו משימוש (I51710, b/317055535) - מוסיפים את ה-API של
RecyclerView$LayoutManager#isLayoutReversed
. (I4970e)
שינויים אחרים
- הסרנו את התיאור הידני של הגישה לממשקי API חדשים של פלטפורמות, כי הגישה הזו מתבצעת באופן אוטומטי באמצעות בניית מודלים של ממשקי API כשמשתמשים ב-R8 עם AGP מגרסה 7.3 ואילך (למשל, R8 מגרסה 3.3) ובכל גרסאות ה-build כשמשתמשים ב-AGP מגרסה 8.1 ואילך (למשל, D8 מגרסה 8.1). לקוחות שלא משתמשים ב-AGP מומלצים לעדכן ל-D8 בגרסה 8.1 ואילך. למידע נוסף, מומלץ לעיין במאמר הזה. (Ia60e0, b/345472586)
- מוסיפים את סוג התצוגה של הפריט לקטע הקישור/יצירה של
RecyclerView
, ומתייגים את ה-prefetch של RV בתווית 'forced - needed next frame' (אולץ – נדרש לפריים הבא) אם צפוי שייעשה בהם שימוש בפריים הבא, ולכן צריך להתחיל לעבוד עליהם בהקדם האפשרי. (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 מכילה את ההוספות האלה.
שינויים ב-API
- מוסיפים את ה-API של
RecyclerView$LayoutManager#isLayoutReversed
. (I4970e)
תיקוני באגים
- תיקון באג שגרם לקריסות sporadique במהלך אנימציות (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
- הוספת שיטות חדשות של
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
וב-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
- הוסר הערה לגבי אפשרות האפסיות שנוספה בגרסה 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 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
תכונות חדשות
- גרסת הבטא הזו כוללת שיפורי ביצועים (שכללו בעבר את 1.3.0-alpha02 כשמשתמשים ב-Jetpack Compose. אם אתם משתמשים ב-Compose בגרסה
1.2.0-beta02
ואילך, והשתמשתם ב-MyComposeAdapter
וב-DisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
כפי שמתואר בהנחיות הקודמות בנושא יכולת פעולה הדדית, עליכם להסיר אותם כי הם כבר לא משפרים את המצב שמוגדר כברירת מחדל.
שינויים ב-API
- הוספנו הערות לגבי אפשרות האפס של מספר שיטות ופרמטרים כדי לשפר את האזהרות של ה-lint למשתמשים ב-Java ואת יכולת הפעולה ההדדית למשתמשים ב-Kotlin. יכול להיות שמדובר בשינוי שגורם לשגיאות בקוד אצל חלק ממשתמשי Kotlin, ויכול להיות שחלק ממשתמשי 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
ניסיוניות ל-SDKs עתידיים (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 כוללת את ההוספות האלה.
תכונות חדשות
- נוספה תמיכה ב-RecyclerView עם מתיחה של גלילה מעבר למקסימום. (Iab877)
RecyclerView-Selection גרסה 1.2.0
גרסה 1.2.0-alpha01
5 במאי 2021
androidx.recyclerview:recyclerview-selection:1.2.0-alpha01
משוחרר. גרסה 1.2.0-alpha01 כוללת את ההוספות האלה.
תיקוני באגים
- תוקנה בעיה שבה מיפוי המפתח/המיקום ב-KeyProvider אבד בזמן שהרשומה עדיין לא הועברה למחזור. (b/145767095)
גרסה 1.2.1
גרסה 1.2.1
2 ביוני 2021
androidx.recyclerview:recyclerview:1.2.1
משוחרר. גרסה 1.2.1 מכילה את ההוספות האלה.
תיקוני באגים
- עכשיו,
ViewHolder
s בתוך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 מחזירה את המיקום ביחס למתאם שקשר את הפריט הזה.
- הפונקציה 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 מכילה את ההוספות האלה.
תכונות חדשות
- נוספה תמיכה בהוספת מספר RecyclerListeners. (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)
תרומות חיצוניות
- תודה לקולין קרווינקל (Kolin Krewinkel) מטעם Facebook על התרומה!
גרסה 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 יש עכשיו שיטה
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
שמאפשר ל-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, בניכוי הרווח, למרות הערך של clipToPadding. (aosp/1130728)
תיקוני באגים
- תוקנה בעיה שבה RecyclerView יצר צמתים כפולים של נגישות לצאצאים של RecyclerView. (aosp/1130618)
- תוקנה בעיה שבה היררכיות של נגישות וירטואלית ב-RecyclerViews לא פעלו.
- תוקנה בעיה שבה לא נעשה שימוש ב-ItemDelegates מותאמים אישית.
גרסה 1.1.0-beta04
5 בספטמבר 2019
androidx.recyclerview:recyclerview:1.1.0-beta04
משוחרר. כאן אפשר למצוא את ההתחייבויות (commits) שכלולות בגרסה הזו.
תיקוני באגים
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
שנשלחים לגלילות מראש בתצוגה בתצוגה בתצוגה מוחזרים לאפס כש-RecyclerView לא יכול לגלול בכיוון הזה (aosp/1105373)
גרסה 1.1.0-beta03
15 באוגוסט 2019
androidx.recyclerview:recyclerview:1.1.0-beta03
משוחרר. כאן אפשר למצוא את ההתחייבויות (commits) שכלולות בגרסה הזו.
שינויים ב-API
- RecyclerView שולח עכשיו את מרחקי הגלילה דרך
View.onScrollChanged(int l, int t, int oldl, int oldt)
, כך ששירותי הנגישות יקבלו התראות מדויקות על שינויים בגלילה. (aosp/1007823)
תיקוני באגים
- תוקן באג רציני של Overflow ב-Stack שקשור ל-RecyclerView ולנגישות. (aosp/1099577)
גרסה 1.1.0-beta02
7 באוגוסט 2019
androidx.recyclerview:recyclerview:1.1.0-beta02
משוחרר. כאן אפשר למצוא את ההתחייבויות (commits) שכלולות בגרסה הזו.
תכונות חדשות
- ל-RecyclerView יש עכשיו מאפיין סגנון ברירת מחדל:
recyclerViewStyle
, שמאפשר להגדיר את סגנון ברירת המחדל בעיצוב
תיקוני באגים
- תוקן באג שבו רכיב RecyclerView לא מנע התערבות במגע כשהגלילה גרמה לרכיב NestedScrollingParent לגלול. (b/131115697, aosp/1055911)
גרסה 1.1.0-beta01
2 ביולי 2019
androidx.recyclerview:recyclerview:1.1.0-beta01
משוחרר. ההתחייבויות (commits) שכלולות בגרסה הזו מפורטות כאן.
תכונות חדשות
RecyclerView
משתתף עכשיו בגלילה בתצוגת עץ כשהגלילה מופעלת באמצעות אירועי נגישות. (aosp/973584)
גרסה 1.1.0-alpha06
5 ביוני 2019
androidx.recyclerview:recyclerview:1.1.0-alpha06
ו-androidx.recyclerview:recyclerview-selection:1.1.0-alpha06
משוחררים. כאן אפשר למצוא את ההתחייבויות (commits) שכלולות בגרסה הזו.
תכונות חדשות
- נוספה עומס יתר חדש של 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
משוחררים. ההתחייבויות (commits) שכלולות בגרסה הזו מפורטות כאן.
תכונות חדשות
- אפשר לשנות את הערך של
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
משוחרר. ההתחייבויות (commits) שכלולות בגרסה הזו מפורטות כאן.
תיקוני באגים
- בעבר, RV OnItemTouchListener לא יכול היה ליירט את האירוע ACTION_UP, וכך למנוע מ-OnItemTouchListener לחסום קוד אחר מלענות לאירוע ACTION_UP. הבעיה תוקנה: (aosp/916137)
גרסה 1.1.0-alpha03
13 במרץ 2019
androidx.recyclerview:recyclerview:1.1.0-alpha03
משוחרר. כאן אפשר למצוא את הרשימה המלאה של השינויים שכלולים בגרסה הזו.
תכונות חדשות
GridLayoutManager
: הסכמה, הערכה של מידות סרגל הגלילהGridLayoutManager
ברזולוציה גבוהה יותר (aosp/838836):- המערכת משתמשת במידע על הרוחב כדי להעריך את המימדים של סרגל הגלילה של
GridLayoutManager
. - כדי להפעיל את התכונה, קוראים לפונקציה
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
ומעבירים לה את הערך 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.1.0
RecyclerView-Selection גרסה 1.1.0
27 בינואר 2021
androidx.recyclerview:recyclerview-selection:1.1.0
משוחרר. גרסה 1.1.0 כוללת את ההצהרות האלה.
שינויים משמעותיים מאז גרסה 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 כוללת את ההוספות האלה.
תיקוני באגים
תודה לסטפן קיסלר על בדיקת התיקונים ועל המשוב.
- תוקנה בעיה שבה פונקציות OnClickListener של תצוגת הצאצא הופעלו באופן בלתי צפוי במהלך בחירה פעילה.
- טיפול בעכבר (בחירת רצועה) > טיפול מושלם בגלילות לא צפויות. (b/167821507)
RecyclerView-Selection גרסה 1.1.0-rc02
2 בספטמבר 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc02
משוחרר. גרסה 1.1.0-rc02 כוללת את ההוספות האלה.
עיקרי השינויים
- תוקנו כמה נסיגות מגרסת 1.0 בטיפול בקלט.
- הספרייה עודכנה כדי לכבד את
onRequestDisallowInterceptTouchEvent
, וכך היא יכולה לפעול בצורה תקינה עם ItemTouchHelper (פשוט מחליקים אותה החוצה!).
תיקוני באגים
- תוקנה בעיה שבה ספריית הבחירות פירשה באופן שגוי אירועי
GestureDetector
, וכתוצאה מכך לא תועדו הקשות במהלך בחירת תמונה פעילה (b/165030422) - תוקנה בעיה שבה הבחירה לא התעדכנה כך שתשקף פריטים שהוסרו מהמתאם. (b/138932671)
- תוקנה בעיה שבה פריטים ב-RecyclerView היו מפעילים אירועי onClick בזמן של-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 כוללת את ההוספות האלה.
תיקוני באגים
- תוקנה בעיה שבה קשה לגלול ב-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
- השיטות האלה נועדו לאפשר למפתחים למפות התנהגויות של סמן או תנועה לסוגים אחרים של כלים, מלבד ברירת המחדל*. הכוונה הייתה טובה, אבל לאחר שימוש נוסף התברר שציפיות המשתמשים לגבי התנהגות הקלט הן מאוד ספציפיות לסוג הכלי. בנוסף, מבחינת מערכת הקלט של Android, עטים "פסיביים" הם סוג כלי FINGER.
- סוגי הכלים שמוגדרים כברירת מחדל הם אצבע לתנועה ו-עכבר לסמן.