תצוגת מיחזור

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

בטבלה הזו מפורטים כל פריטי המידע שנוצרו בתהליך הפיתוח (Artifact) בקבוצה androidx.recyclerview.

פריט מידע שנוצר בתהליך פיתוח (Artifact) גרסה יציבה מועמד לפרסום גרסת בטא גרסת אלפא
recyclerview 1.3.2 - בטא 01.01.4 -
בחירת-recyclerview 1.1.0 - - 1.2.0-alpha01
הספרייה הזו עודכנה לאחרונה ב-21 באוגוסט 2024

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

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

מוסיפים את יחסי התלות של פריטי המידע הנדרשים בקובץ build.gradle בשביל האפליקציה או המודול שלך:

Groovy

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

דיווח על בעיה חדשה

מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.

גרסה 1.4

גרסה 1.4.0-beta01

21 באוגוסט 2024

androidx.recyclerview:recyclerview:1.4.0-beta01 הושקה ללא שינויים מאז 1.4.0-alpha02. גרסה 1.4.0-בטא01 מכילה את ההתחייבויות האלה.

הערה לגבי תאימות: הגרסה הזו תעבור הידור (compile) ל-API מגרסה 35 (Vanilla Ice Cup) ואילך. אם מופיעות אזהרות לגבי AGP (Android Gradle Plugin) בזמן השדרוג, אפשר להשבית אותן.

גרסה 1.4.0-alpha02

7 באוגוסט 2024

androidx.recyclerview:recyclerview:1.4.0-alpha02 משוחרר. גרסה 1.4.0-alpha02 מכילה את התחייבויות אלה.

הערה לגבי תאימות: הגרסה הזו תעבור הידור (compile) ל-API מגרסה 35 (Vanilla Ice Cup) ואילך. אם מופיעות אזהרות לגבי 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 ואילך. למידע נוסף, מומלץ לעיין במאמר הזה. (Ia60e0, b/345472586)
  • צריך להוסיף את סוג תצוגת הפריט ל-RecyclerView קטעי קישור/יצירה של קטעי מעקב, ולהוסיף תוויות לשליפה מראש של 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 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספת API של RecyclerView$LayoutManager#isLayoutReversed. (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

  • אפשר להוסיף שיטות חדשות 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 פיתוח נייטיב'. אם השתמשת בתכונות 'כתיבה' בגרסה 1.2.0-beta02 ומעלה והשתמשת בViewCompositionStrategy ובMyComposeAdapter DisposeOnViewTreeLifecycleDestroyed שמתוארות בהנחיות הקודמות ליכולת פעולה הדדית, עליך להסיר אותן כי כבר אין שיפור במצב ברירת המחדל.
  • נוספה שיטת 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

  • הערות null הוסרו בגרסת 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 פיתוח נייטיב'. אם השתמשת בתכונות 'כתיבה' בגרסה 1.2.0-beta02 ומעלה והשתמשת בViewCompositionStrategy ובMyComposeAdapter DisposeOnViewTreeLifecycleDestroyed שמתוארות בהנחיות הקודמות ליכולת פעולה הדדית, עליך להסיר אותן כי כבר אין שיפור במצב ברירת המחדל.

שינויים ב-API

  • הוספנו הערות null עבור מספר שיטות ופרמטרים כדי לשפר אזהרות איתור שגיאות עבור משתמשי Java ויכולת פעולה הדדית למשתמשי Kotlin. אצל חלק ממשתמשי Kotlin, שינוי זה עלול לגרום לכשלים מקור חדש, ולגרום לאזהרות/שגיאות נוספות של איתור שגיאות בקוד עבור חלק ממשתמשי Java. (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 מכילה את התחייבויות אלה.

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

תכונות חדשות

  • נוספה תמיכה ב-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 בתוך מכשיר 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. מידע נוסף זמין בפוסט בבלוג.

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

גרסה 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)

תרומות חיצוניות

  • תודה לקולין קרווינקל בשם 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, שמאפשר ל-מתאם לקבוע מתי צריך לשחזר את מצב הפריסה.

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

    myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
    

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

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

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

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

תיקוני באגים

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

גרסה 1.2.0-alpha01

18 בדצמבר 2019

androidx.recyclerview:recyclerview:1.2.0-alpha01 משוחרר. גרסה 1.2.0-alpha01 מכילה את התחייבויות אלה.

תיקוני באגים

  • תוקנו בעיות קלות ב-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 נלקחים עכשיו בחשבון המרווח הפנימי של 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, שמאפשר להגדיר את סגנון ברירת המחדל של העיצוב.
  • ViewCompat Accessibility actions API לא מפר יותר את 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, ללא המרווח הפנימי, למרות הערך שלClipToPגנים. (aosp/1130728)

תיקוני באגים

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

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

תיקוני באגים

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

תיקוני באגים

  • בעבר של 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.
    • כדי להפעיל אותו, צריך להעביר את הערך True ל-GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean).
    • מידע נוסף זמין במסמכי התיעוד בנושא GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean).

תיקוני באגים

  • נגישות: היה באג שבו לאחר מיחזור של ViewHolder והחזירו את המכשיר, ה-ItemDelegateer המשויך ל-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)

תיקוני באגים

  • תיקון באג בקרוואן שבו 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 מכילה את ההתחייבויות האלה.

תיקוני באגים

תודה לסטפן קיסלר (Stefan Kiesler) ששלח תיקונים לבדיקות ומשוב.

  • תוקנה בעיה שבה בוצעה קריאה לא צפויה ב-OnClickListeners בתצוגת צאצא במהלך בחירה פעילה.
  • גורם handler של עכבר (בחירת רצועה) > טיפול בגלילות בלתי צפויות. (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 כשב-SelectTracker יש בחירה פעילה (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 מכילה את התחייבויות אלה.

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

תיקוני באגים

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

שינויים ב-API

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