RecyclerView
In dieser Tabelle sind alle Artefakte in der Gruppe androidx.recyclerview aufgeführt.
| Artefakt | Stabile Release | Releasekandidat | Beta-Release | Alpha-Release |
|---|---|---|---|---|
| recyclerview | 1.4.0 | - | - | - |
| recyclerview-selection | 1.2.0 | - | - | 1.3.0-alpha01 |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von RecyclerView hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie die Abhängigkeiten für die benötigten Artefakte der Datei build.gradle für Ihre App oder Ihr Modul hinzu:
Cool
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") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf die Schaltfläche mit dem Stern.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.4
Version 1.4.0
15. Januar 2025
androidx.recyclerview:recyclerview:1.4.0 ist veröffentlicht. Version 1.4.0 enthält diese Commits.
Wichtige Änderungen seit RecyclerView 1.3.2
AdaptiveUnterstützung für Aktualisierungsrate:RecyclerViewruft jetztsetFrameContentVelocityauf, wenn es überOverScrollergescrollt wird (z. B. nach einem schnellen Wischen oder einem sanften Scrollen). (I8f8a4)
Version 1.4.0-rc01
18. September 2024
androidx.recyclerview:recyclerview:1.4.0-rc01 wurde veröffentlicht. Es gab keine Änderungen seit 1.4.0-alpha02/. Version 1.4.0-rc01 enthält diese Commits.
Änderungen seit Version 1.3.2
Hinweis zur Kompatibilität: Diese Version lässt sich nur mit dem SDK für API 35 (Vanilla Ice Cream) oder höher kompilieren. Wenn beim Upgrade AGP-Warnungen (Android Gradle Plugin) angezeigt werden, können Sie sie unterdrücken.
Neue Funktionen
AdaptiveUnterstützung für Aktualisierungsrate:RecyclerViewruft jetztsetFrameContentVelocityauf, wenn es überOverScrollergescrollt wird (z. B. nach einem schnellen Wischen oder einem sanften Scrollen). (I8f8a4)
API-Änderungen
RecyclerView$LayoutManager#isLayoutReversedAPI hinzufügen. (I4970e)
Sonstige Änderungen
- Die manuelle Beschreibung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies automatisch über die API-Modellierung erfolgt, wenn R8 mit AGP 7.3 oder höher verwendet wird (z. B. R8-Version 3.3), und für alle Builds, wenn AGP 8.1 oder höher verwendet wird (z. B. D8-Version 8.1). Clients, die AGP nicht verwenden, wird empfohlen, auf D8-Version 8.1 oder höher zu aktualisieren. Weitere Details findest du in diesem Artikel. (Ia60e0, b/345472586)
- Fügen Sie den Elementansichtstyp zu
RecyclerView-Bindungs-/Erstellungsabschnitten hinzu und kennzeichnen Sie RV-Prefetches als „forced – needed next frame“ (erzwungen – für den nächsten Frame erforderlich), wenn sie voraussichtlich vom nächsten Frame verwendet werden und daher so schnell wie möglich mit der Arbeit beginnen sollten. (I8ec3e, b/309523615) - Aktualisieren Sie
compileSdkauf 35 (weitere Informationen finden Sie oben im Abschnitt „Kompatibilitätshinweis“). 5dc41be
Version 1.4.0-beta01
21. August 2024
androidx.recyclerview:recyclerview:1.4.0-beta01 wurde veröffentlicht. Es gab keine Änderungen seit 1.4.0-alpha02. Version 1.4.0-beta01 enthält diese Commits.
Hinweis zur Kompatibilität: Diese Version lässt sich nur mit dem SDK für API 35 (Vanilla Ice Cream) oder höher kompilieren. Wenn beim Upgrade AGP-Warnungen (Android Gradle Plugin) angezeigt werden, können Sie sie unterdrücken.
Version 1.4.0-alpha02
7. August 2024
androidx.recyclerview:recyclerview:1.4.0-alpha02 ist veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.
Hinweis zur Kompatibilität: Diese Version lässt sich nur mit dem SDK für API 35 (Vanilla Ice Cream) oder höher kompilieren. Wenn beim Upgrade AGP-Warnungen (Android Gradle Plugin) angezeigt werden, können Sie sie unterdrücken.
Neue Funktionen
- Unterstützung variabler Aktualisierungsraten: RecyclerView ruft jetzt
setFrameContentVelocityauf, wenn es über OverScroller scrollt (z. B. nach einem Fling oder Smooth Scroll). (I8f8a4)
API-Änderungen
- Eingestellte
ViewCompat.LAYOUT_DIRECTION_APIs (I51710, b/317055535) RecyclerView$LayoutManager#isLayoutReversedAPI hinzufügen. (I4970e)
Sonstige Änderungen
- Die manuelle Beschreibung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies automatisch über die API-Modellierung erfolgt, wenn R8 mit AGP 7.3 oder höher verwendet wird (z. B. R8-Version 3.3), und für alle Builds, wenn AGP 8.1 oder höher verwendet wird (z. B. D8-Version 8.1). Clients, die AGP nicht verwenden, wird empfohlen, auf D8-Version 8.1 oder höher zu aktualisieren. Weitere Details findest du in diesem Artikel. (Ia60e0, b/345472586)
- Fügen Sie den Elementansichtstyp zu
RecyclerView-Bindungs-/Erstellungsabschnitten hinzu und kennzeichnen Sie RV-Prefetches als „forced – needed next frame“ (erzwungen – für den nächsten Frame erforderlich), wenn sie voraussichtlich vom nächsten Frame verwendet werden und daher so schnell wie möglich mit der Arbeit beginnen sollten. (I8ec3e, b/309523615) - Aktualisieren Sie
compileSdkauf 35 (weitere Informationen finden Sie oben im Abschnitt „Kompatibilitätshinweis“). 5dc41be
Externer Beitrag
GestureDetectorCompatist jetzt eingestellt, daGestureDetectorüber dieminSdkverfügbar ist. (Icc4cd)
Version 1.4.0-alpha01
18. Oktober 2023
androidx.recyclerview:recyclerview:1.4.0-alpha01 ist veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.
API-Änderungen
RecyclerView$LayoutManager#isLayoutReversedAPI hinzufügen. (I4970e)
Fehlerkorrekturen
- Ein Fehler wurde behoben, der zu sporadischen Abstürzen bei Animationen führte (I42f22b) (auch in Version 1.3.2 enthalten).
Version 1.3.2
Version 1.3.2
18. Oktober 2023
androidx.recyclerview:recyclerview:1.3.2 ist veröffentlicht. Version 1.3.2 enthält diese Commits.
Fehlerkorrekturen
- Ein Fehler wurde behoben, der bei Animationen zu sporadischen Abstürzen führte. (I42f22b)
Version 1.3.1
Version 1.3.1
26. Juli 2023
androidx.recyclerview:recyclerview:1.3.1 wurde ohne Änderungen seit Version 1.3.1-rc01 veröffentlicht. Version 1.3.1 enthält diese Commits.
Die Versionshinweise der vorherigen Version finden Sie auf unserer Seite mit Versionshinweisen.
Version 1.3.1-rc01
24. Mai 2023
androidx.recyclerview:recyclerview:1.3.1-rc01 ist veröffentlicht. Version 1.3.1-rc01 enthält diese Commits.
Nutzer von ViewPager2 müssen mindestens auf Version 1.1.0-beta02 aktualisieren, wenn sie auf diese Version von RecyclerView aktualisieren, um Abstürze zu vermeiden.
API-Änderungen
- Es wurden neue
setDebugAssertionsEnabled- undsetVerboseLoggingEnabled-Methoden hinzugefügt, die bei der Fehlerbehebung vonRecyclerView-bezogenen Problemen in Apps helfen können. (I514b9)
Fehlerkorrekturen
- Abstürze für Nutzer von
ViewTreeLifecycleOwner(einschließlichComposeView) werden behoben, indem vorübergehend getrennte Ansichten beim Aufrufen vononBindvorübergehend wieder angehängt werden. (I7244f2c, b/265347515, b/283288295)
Version 1.3.0
Version 1.3.0
8. März 2023
androidx.recyclerview:recyclerview:1.3.0 wurde veröffentlicht. Es gab keine Änderungen seit Version 1.3.0-rc01. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
- Diese Version enthält Leistungsverbesserungen (die zuvor in 1.3.0-alpha02 und 1.3.0-beta01 enthalten waren), wenn sie mit Jetpack Compose verwendet wird. Wenn Sie Compose
1.2.0-beta02oder höher verwenden und dieMyComposeAdapter- undDisposeOnViewTreeLifecycleDestroyed-ViewCompositionStrategyverwendet haben, die in den vorherigen Interoperabilitätsrichtlinien beschrieben wurden, sollten Sie diese entfernen, da sie keine Verbesserung gegenüber dem Standardstatus mehr darstellen. - Die neue
ConcatAdapter.getWrappedAdapterAndPosition-Methode ermöglicht das Abrufen von Informationen zum umschlossenen Adapter in Situationen, in denen Sie keineViewHolderhaben, z. B. bei einerSpanSizeLookup(I2bd4c, b/191543920).
Version 1.3.0-rc01
21. September 2022
androidx.recyclerview:recyclerview:1.3.0-rc01 ist veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.
- Keine Änderungen seit der letzten Version
Version 1.3.0-beta02
10. August 2022
androidx.recyclerview:recyclerview:1.3.0-beta02 ist veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.
API-Änderungen
- Die in Version 1.3.0-beta01 hinzugefügten Nullable-Annotationen wurden entfernt, da sie eine erhebliche, nicht quellkompatible Änderung für Kotlin-Nutzer darstellten (I7a258,I1557e6,I8db76).
Version 1.3.0-beta01
29. Juni 2022
androidx.recyclerview:recyclerview:1.3.0-beta01 ist veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.
Neue Funktionen
- Diese Betaversion enthält Leistungsverbesserungen, die zuvor in 1.3.0-alpha02 enthalten waren, wenn sie mit Jetpack Compose verwendet wurde. Wenn Sie Compose
1.2.0-beta02oder höher verwenden und dieMyComposeAdapter- undDisposeOnViewTreeLifecycleDestroyed-ViewCompositionStrategyverwendet haben, die in den vorherigen Interoperabilitätsrichtlinien beschrieben wurden, sollten Sie diese entfernen, da sie keine Verbesserung gegenüber dem Standardstatus mehr darstellen.
API-Änderungen
- Für eine Reihe von Methoden und Parametern wurden Anmerkungen zur Null-Zulässigkeit hinzugefügt, um Lint-Warnungen für Java-Nutzer und die Interoperabilität für Kotlin-Nutzer zu verbessern. Für einige Kotlin-Nutzer kann dies eine Änderung sein, die die Quelle betrifft, und für einige Java-Nutzer können zusätzliche Lint-Warnungen/-Fehler auftreten. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)
Fehlerkorrekturen
- Sorgen Sie dafür, dass Raster von Barrierefreiheitsdiensten als Raster behandelt werden, indem Sie einen Klassennamen für die Barrierefreiheitsknoteninformationen festlegen. (I12812)
Version 1.3.0-alpha02
6. April 2022
androidx.recyclerview:recyclerview:1.3.0-alpha02 ist veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.
API-Änderungen
- Experimentelle
BuildCompat-Methoden für zukünftige SDKs hinzugefügt (Iafd82, b/207528937) - Die neue Methode
ConcatAdapter.getWrappedAdapterAndPositionwurde hinzugefügt, um das Abrufen von Informationen zum umschlossenen Adapter in Situationen zu ermöglichen, in denen Sie keinen ViewHolder haben, z. B. bei einemSpanSizeLookup(I2bd4c, b/191543920).
Fehlerkorrekturen
- Integration mit der neuen AndroidX PoolingContainer-Bibliothek (Ib89d2)
- Passt die Scrollstrecke für die Bedienungshilfe-Aktion (If74ae) an.
Version 1.3.0-alpha01
15. September 2021
androidx.recyclerview:recyclerview:1.3.0-alpha01 ist veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.
Neue Funktionen
- Unterstützung für das Dehnen von RecyclerView beim Overscroll hinzugefügt. (Iab877)
RecyclerView-Selection Version 1.3.0
Version 1.3.0-alpha01
17. Dezember 2025
androidx.recyclerview:recyclerview-selection:1.3.0-alpha01 ist veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.
API-Änderungen
- Mit dieser Option können Entwickler besser steuern, ob bereits ausgewählte Elemente ausgewählt bleiben oder die Auswahl aufgehoben wird, wenn auf einen
RecyclerViewgetippt oder geklickt wird, um ein Element auszuwählen. (I0eae7, b/389814214)
RecyclerView-Selection Version 1.2.0
Version 1.2.0
20. Mai 2025
androidx.recyclerview:recyclerview-selection:1.2.0 ist veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Behebung des Problems, dass durch kleine Mausbewegungen Klicks in Ziehvorgänge umgewandelt werden.
- Ein Problem wurde behoben, bei dem die Schlüssel-/Positionszuordnung in KeyProvider verloren ging, obwohl der Eintrag noch nicht wiederverwendet wurde.
Version 1.2.0-rc01
7. Mai 2025
androidx.recyclerview:recyclerview-selection:1.2.0-rc01 ist veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Behebung des Problems, dass durch kleine Mausbewegungen Klicks in Ziehvorgänge umgewandelt werden. (Ie9106)
Version 1.2.0-beta01
9. April 2025
androidx.recyclerview:recyclerview-selection:1.2.0-beta01 ist veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
API-Änderungen
- Eingestellte
ViewCompat.LAYOUT_DIRECTION_APIs (I51710, b/317055535)
Fehlerkorrekturen
- In dieser Bibliothek werden jetzt JSpecify-Annotationen für Nullsicherheit verwendet, die typbezogen sind. Kotlin-Entwickler sollten das folgende Compiler-Argument verwenden, um die korrekte Verwendung zu erzwingen:
-Xjspecify-annotations=strict(dies ist die Standardeinstellung ab Version 2.1.0 des Kotlin-Compilers). (I03b80, b/326456246)
Version 1.2.0-alpha01
5. Mai 2021
androidx.recyclerview:recyclerview-selection:1.2.0-alpha01 ist veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem die Schlüssel-/Positionszuordnung in KeyProvider verloren ging, obwohl der Eintrag noch nicht wiederverwendet wurde. (b/145767095)
Version 1.2.1
Version 1.2.1
2. Juni 2021
androidx.recyclerview:recyclerview:1.2.1 ist veröffentlicht. Version 1.2.1 enthält diese Commits.
Fehlerkorrekturen
ViewHolders innerhalb einesConcatAdaptergeben jetzt die richtige Adapterposition zurück, wenn sie imonViewRecycled-Callback abgefragt werden. (b/187339376)
Version 1.2.0
Version 1.2.0
7. April 2021
androidx.recyclerview:recyclerview:1.2.0 ist veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
ConcatAdapter: Mit diesem neuen Adapter können Sie mehrere Adapter ganz einfach in derselben RecyclerView verketten. Weitere Informationen finden Sie in diesem Blogpost.
- Im Rahmen dieser Änderung wird
ViewHolder.getAdapterPositioneingestellt und durch zwei neue Methoden ersetzt:- getBindingAdapterPosition gibt die Position relativ zum Adapter zurück, der das Element gebunden hat.
- getAbsoluteAdapterPosition gibt die Position relativ zur gesamten RecyclerView zurück.
Lazy State Restoration: Der RecyclerView-Adapter kann jetzt die Wiederherstellung des Status verzögern, bis die Inhalte geladen sind. Weitere Informationen finden Sie in der Dokumentation.
Version 1.2.0-rc01
24. März 2021
androidx.recyclerview:recyclerview:1.2.0-rc01 ist veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
Fehlerkorrekturen
ConcatAdapter.Config.Builderhat jetzt Standardwerte, die mitConfig.DEFAULTübereinstimmen (b/157169835).
Version 1.2.0-beta02
24. Februar 2021
androidx.recyclerview:recyclerview:1.2.0-beta02 ist veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem der obere Innenabstand dazu führte, dass der rechte Overscroll-Glow nach oben in den Bereich mit Innenabstand verschoben wurde, anstatt nach unten, um den Innenabstand zu berücksichtigen. (I6b61d, b/118399122)
Version 1.2.0-beta01
2. Dezember 2020
androidx.recyclerview:recyclerview:1.2.0-beta01 wird ohne Änderungen seit 1.2.0-alpha06 veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
Version 1.2.0-alpha06
1. Oktober 2020
androidx.recyclerview:recyclerview:1.2.0-alpha06 ist veröffentlicht. Version 1.2.0-alpha06 enthält diese Commits.
Neue Funktionen
- Unterstützung für das Hinzufügen mehrerer RecyclerListeners wurde hinzugefügt. (I70ad8, b/145767095)
API-Änderungen
- Veraltet: RecyclerView.setRecyclerListener(RecyclerListener). (I70ad8, b/145767095)
Version 1.2.0-alpha05
22. Juli 2020
androidx.recyclerview:recyclerview:1.2.0-alpha05 ist veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem wurde behoben, durch das der Fokus nicht verschoben wurde, wenn eine RecyclerView nur ein Element hatte und dieses fokussiert war. (6f36b3)
ArrayIndexOutOfBoundsExceptioninStaggeredGridLayoutManagerbehoben (49b601, b/122303625, b/74877618, b/160193663, b/37086625)- Ein Messfehler wurde behoben, bei dem unter bestimmten Umständen die untergeordneten Elemente von RecyclerView nicht angezeigt wurden. (89040c, b/138734786)
Externe Beiträge
- Vielen Dank an Kolin Krewinkel von Facebook für den Beitrag.
Version 1.2.0-alpha04
24. Juni 2020
androidx.recyclerview:recyclerview:1.2.0-alpha04 ist veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.
API-Änderungen
MergeAdapterwurde inConcatAdapterumbenannt, um Verwechslungen mit unterschiedlichen Verhaltensweisen beim Zusammenführen von Daten zu vermeiden (c0540c, b/158019211).
Fehlerkorrekturen
- Verbesserungen beim automatischen Scrollen, wenn alle sichtbaren Elemente entfernt werden (fe8670, b/154124815)
Version 1.2.0-alpha03
29. April 2020
androidx.recyclerview:recyclerview:1.2.0-alpha03 ist veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.
Neue Funktionen
- RecyclerView hat jetzt eine
nestedScrollBy-Methode, die programmatisches Scrollen ermöglicht, das mit verschachteltem Scrollen zusammenarbeitet: (Ibaa58)
Version 1.2.0-alpha02
1. April 2020
androidx.recyclerview:recyclerview:1.2.0-alpha02 ist veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
Diese und höhere Versionen von RecyclerView sind nicht mit niedrigeren Versionen von ViewPager2 kompatibel. Wenn Sie derzeit androidx.viewpager2:viewpager2:1.0.0 oder niedriger verwenden, aktualisieren Sie auf androidx.viewpager2:viewpager2:1.1.0-alpha01.
Neue Funktionen
MergeAdapter
- MergeAdapter: Ein neuer RecyclerView-Adapter, mit dem mehrere Adapter linear kombiniert werden können.
MyAdapter adapter1 = ...; AnotherAdapter adapter2 = ...; MergeAdapter merged = new MergeAdapter(adapter1, adapter2); recyclerView.setAdapter(mergedAdapter);Im obigen Beispiel werden mit MergeAdapter zuerst Elemente aus
adapter1und dann ausadapter2präsentiert.RecyclerView.AdapterLazy State Restoration:Der Klasse
RecyclerView.Adapterwurde eine neue API hinzugefügt, mit der der Adapter steuern kann, wann der Layoutstatus wiederhergestellt werden soll.Sie können beispielsweise Folgendes anrufen:
myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);damit RecyclerView wartet, bis der Adapter nicht leer ist, bevor die Scrollposition wiederhergestellt wird.
CollectionInfo und CollectionItemInfo werden nicht mehr standardmäßig ausgefüllt.
Wenn Sie möchten, dass die Accessibility Services (z. B. TalkBack) dem Nutzer weiterhin die Anzahl und den Artikelindex angeben, müssen Sie CollectionInfo und CollectionItemInfo selbst ausfüllen.
Diese Objekte werden im Framework nicht mehr ausgefüllt, da das Framework die Anzahl der vom Nutzer wahrgenommenen Elemente nicht ermitteln kann. Dazu gehören beispielsweise Trennzeichen, Überschriften oder RecyclerView-Elemente, die mehrere wahrgenommene Elemente darstellen.
Fehlerkorrekturen
- RecyclerView vermeidet jetzt das Verankern an Ansichten außerhalb des Darstellungsbereichs, wenn sich die Größe des Darstellungsbereichs geändert hat.
- Ein Fehler in DiffUtil wurde behoben, bei dem der Unterschied möglicherweise falsch berechnet wurde, wenn ein ursprüngliches Element in der ersten Liste mehrmals in der zweiten Liste dupliziert wurde. (b/123376278)
Version 1.2.0-alpha01
18. Dezember 2019
androidx.recyclerview:recyclerview:1.2.0-alpha01 ist veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Es wurden kleinere Probleme mit FastScroller behoben, die sich auf die RTL-Darstellung und die Genauigkeit der Touch-Eingabe bezogen (b/143789932, aosp/1130438).
- Ein Absturz in ItemTouchHelper wurde behoben, der auftrat, wenn ItemTouchHelper aus RecyclerView entfernt wurde, während ItemTouchHelper-Animationen ausgeführt wurden (b/140447176, aosp/1167575).
Version 1.1.0
Version 1.1.0
20. November 2019
androidx.recyclerview:recyclerview:1.1.0 ist veröffentlicht. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
PagerSnapHelperundLinearSnapHelperberücksichtigen jetzt das Padding von RecyclerView unabhängig vom Wert vonclipToPadding(b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/1130728)RecyclerView.setLayoutTransition(LayoutTransition)ist offiziell veraltet und löst beim Aufruf mit einem Wert ungleich null eineIllegalArgumentExceptionaus. Verwenden Sie stattdessenRecyclerView.setItemAnimator(ItemAnimator). (aosp/839414)- aosp/723649: RecyclerView implementiert jetzt
NestedScrollingChild3. Dadurch kann RecyclerView darüber informiert werden, wann alle übergeordneten Elemente mit verschachteltem Scrollen keine verschachtelten Scrollstrecken mehr verarbeiten. Wenn der Entwicklercode derzeitRecyclerView.onNestedScroll(View, int, int, int, int, int)überschreibt, wird er wahrscheinlich nicht mehr aufgerufen und stattdessen sollteRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])überschrieben werden. - RecyclerView hat jetzt ein Standardstilattribut:
recyclerViewStyle. Damit kann der Standardstil in Ihrem Theme festgelegt werden. - Die ViewCompat-API für Barrierefreiheitsaktionen führt nicht mehr zu einem Fehler in RecyclerView ItemDelegate.
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])kann überschrieben werden, um anzupassen, wie viel zusätzlicher Layoutbereich auf beiden Seiten des zugehörigen RecyclerView hinzugefügt werden soll. (aosp/931259)- Es wurde eine neue Überladung von smoothScrollBy hinzugefügt:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration). Damit können Sie eine Dauer in Millisekunden für die Animation angeben. (aosp/952807)
Version 1.1.0-rc01
23. Oktober 2019
androidx.recyclerview:recyclerview:1.1.0-rc01 ist veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Der Fehler „Anwendung reagiert nicht“ wurde behoben, der beim Überschreiben von
RecyclerViewAccessibilityDelegate.ItemDelegateauftrat (aosp/1138057, aosp/1133434).
Version 1.1.0-beta05
9. Oktober 2019
androidx.recyclerview:recyclerview:1.1.0-beta05 ist veröffentlicht. Version 1.1.0-beta05 enthält diese Commits.
API-Änderungen
- In Bezug auf aosp/1106715 und aosp/1103182 geben LinearSnapHelper und PagerSnapHelper jetzt die Ansicht zurück, die sich in der Mitte der Grenzen von RecyclerView befindet, abzüglich des Innenabstands, unabhängig vom Wert von clipToPadding. (aosp/1130728)
Fehlerkorrekturen
- Das Problem, dass RecyclerView doppelte Barrierefreiheitsknoten für untergeordnete Elemente von RecyclerView generiert hat, wurde behoben. (aosp/1130618)
- Ein Problem wurde behoben, bei dem virtuelle Barrierefreiheitshierarchien in RecyclerViews nicht funktionierten.
- Ein Problem wurde behoben, bei dem benutzerdefinierte ItemDelegates nicht verwendet wurden.
Version 1.1.0-beta04
5. September 2019
androidx.recyclerview:recyclerview:1.1.0-beta04 ist veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Fehlerkorrekturen
PagerSnapHelperundLinearSnapHelperberücksichtigen jetzt das Padding von RecyclerView unabhängig vom Wert vonclipToPadding(b/139452422, b/139012032, aosp/1103182, aosp/1106715)- Ein Fehler wurde behoben, durch den RecyclerView das Abfangen von Berührungen nicht zuließ, wenn durch verschachteltes Pre-Scrolling ein
NestedScrollingParentgescrollt wurde (b/138668210, aosp/1105373). Das ist von Vorteil für Bibliotheken wie ViewPager2. - RecyclerView geht jetzt immer zu
SCROLL_STATE_DRAGGING, bevor verschachtelte Pre-Scrolls gesendet werden (aosp/1105373). - Verschachteltes Pre-Scrolling wird nicht mehr ausgeführt, bevor die Geste den Touch-Slop-Wert überschreitet (b/139530818, aosp/1105373).
- Die Argumente
dxunddy, die an verschachtelte Pre-Scrolls gesendet werden, werden auf null gesetzt, wenn RecyclerView in dieser Richtung nicht gescrollt werden kann (aosp/1105373).
Version 1.1.0-beta03
15. August 2019
androidx.recyclerview:recyclerview:1.1.0-beta03 ist veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
- RecyclerView sendet jetzt Scrollstrecken über
View.onScrollChanged(int l, int t, int oldl, int oldt), sodass Barrierefreiheitsdienste genau über Scrolländerungen informiert werden. (aosp/1007823)
Fehlerkorrekturen
- Ein schwerwiegender Stack Overflow-Fehler im Zusammenhang mit RecyclerView und Barrierefreiheit wurde behoben. (aosp/1099577)
Version 1.1.0-beta02
7. August 2019
androidx.recyclerview:recyclerview:1.1.0-beta02 ist veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
- RecyclerView hat jetzt ein Standardstilattribut:
recyclerViewStyle. Damit kann der Standardstil in Ihrem Theme festgelegt werden.
Fehlerkorrekturen
- Ein Fehler wurde behoben, durch den RecyclerView das Abfangen von Berührungen nicht unterbunden hat, wenn durch das Scrollen ein NestedScrollingParent gescrollt wurde. (b/131115697, aosp/1055911)
Version 1.1.0-beta01
2. Juli 2019
androidx.recyclerview:recyclerview:1.1.0-beta01 ist veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
RecyclerViewunterstützt jetzt das verschachtelte Scrollen, wenn ein Scrollvorgang über Barrierefreiheitsereignisse initiiert wird. (aosp/973584)
Version 1.1.0-alpha06
5. Juni 2019
androidx.recyclerview:recyclerview:1.1.0-alpha06 und androidx.recyclerview:recyclerview-selection:1.1.0-alpha06 sind veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
- Es wurde eine neue Überladung von smoothScrollBy hinzugefügt:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration). Damit können Sie eine Dauer in Millisekunden für die Animation angeben. (aosp/952807)
API-Änderungen
GridLayoutManagerundStaggeredGridLayoutManagerkennzeichnen Elemente, die die gesamte Breite einnehmen, nicht mehr automatisch als Überschriften für Bedienungshilfen (aosp/969703).- Reihenfolge der Auswahl (nach Erstellungszeit) in
recyclerview-selectionbeibehalten (aosp/937279)
Fehlerkorrekturen
- Ein Fehler wurde behoben, bei dem
RecyclerViewin einer Situation mit verschachteltem Scrollen mit falschen Geschwindigkeiten geworfen wurde. (aosp/961642) - Stabilitätsverbesserungen für
recyclerview-selectionhinzugefügt (aosp/960213, aosp/926296)
Version 1.1.0-alpha05
7. Mai 2019
androidx.recyclerview:recyclerview:1.1.0-alpha05 und androidx.recyclerview:recyclerview-selection:1.1.0-alpha05 sind veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])kann überschrieben werden, um anzupassen, wie viel zusätzlicher Layoutbereich auf beiden Seiten des zugehörigen RecyclerView hinzugefügt werden soll. (aosp/931259)
API-Änderungen
- API zum Abrufen von
DividerItemDecoration-Drawables hinzufügen (aosp/937282) LinearLayout.getExtraLayoutSpace(RecyclerVew.State)zugunsten eines neuen Mechanismus einstellen, der benutzerdefinierten zusätzlichen Layoutbereich auf beiden Seiten ermöglicht. Die neue Methode istLinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[])(aosp/931259).
Fehlerkorrekturen
- Auswahl von Touch-Gesten bereinigt (aosp/940781)
- Reihenfolge der Auswahl beibehalten (nach Erstellungszeit) (b/128455535)
Version 1.1.0-alpha04
3. April 2019
androidx.recyclerview:recyclerview:1.1.0-alpha04 ist veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Fehlerkorrekturen
- Bisher konnten OnItemTouchListener von RecyclerViews ACTION_UP nicht abfangen, wodurch verhindert wurde, dass OnItemTouchListener andere Codes daran hinderten, auf ACTION_UP zu reagieren. Dieser Fehler wurde behoben: (aosp/916137)
Version 1.1.0-alpha03
13. März 2019
androidx.recyclerview:recyclerview:1.1.0-alpha03 ist veröffentlicht. Eine vollständige Liste der in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
GridLayoutManager: Opt-in, Schätzung der Scrollleistendimension in höherer AuflösungGridLayoutManager(aosp/838836):- Verwendet Spanneninformationen, um die Abmessungen der Scrollleiste für ein
GridLayoutManagerzu schätzen. - Rufen Sie
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)mit dem Wert „true“ auf, um die Funktion zu aktivieren. - Weitere Informationen finden Sie in der Dokumentation zu
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean).
- Verwendet Spanneninformationen, um die Abmessungen der Scrollleiste für ein
Fehlerkorrekturen
- Barrierefreiheit: Es gab einen Fehler, bei dem die mit dem
RecyclerViewAccessibilityDelegateder RecyclerView verknüpfte ItemDelegate nicht mit dem itemView des ViewHolder verknüpft wurde, nachdem ein ViewHolder wiederverwendet und dann neu gebunden wurde. Dadurch wurde die Barrierefreiheit beeinträchtigt. Dieser Fehler wurde jetzt behoben (aosp/917740).
Version 1.1.0-alpha02
30. Januar 2019
androidx.recyclerview:recyclerview 1.1.0-alpha02 ist veröffentlicht.
API-Änderungen
RecyclerView.setLayoutFrozen(boolean)undRecyclerView.isLayoutFrozen()wurden zugunsten vonRecyclerView.suppressLayout(boolean)undRecyclerView.isLayoutSuppressed()eingestellt. (aosp/839414)RecyclerView.setLayoutTransition(LayoutTransition)ist offiziell veraltet und löst beim Aufruf mit einem Wert ungleich null eineIllegalArgumentExceptionaus. (aosp/839414)
Fehlerkorrekturen
- Fehler im RV behoben, bei dem
SmoothScrollernie beendet wird (aosp/843741) - Ein Fehler wurde behoben, durch den
SCROLL_STATE_IDLEam Ende einer Scrollanimation möglicherweise nicht aufgerufen wurde. (aosp/812576)
Version 1.1.0-alpha01
3. Dezember 2018
androidx.recyclerview 1.1.0-alpha01 und androidx.recyclerview-selection 1.1.0-alpha01 sind veröffentlicht.
androidx.recyclerview 1.1.0-alpha01
API-Änderungen
- aosp/723649: RecyclerView implementiert jetzt
NestedScrollingChild3. Dadurch kann RecyclerView darüber informiert werden, wann alle übergeordneten Elemente mit verschachteltem Scrollen keine verschachtelten Scrollstrecken mehr verarbeiten. Wenn der Entwicklercode derzeitRecyclerView.onNestedScroll(View, int, int, int, int, int)überschreibt, wird er wahrscheinlich nicht mehr aufgerufen und stattdessen sollteRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])überschrieben werden.
Fehlerkorrekturen
- Ein Absturz bei der Verwendung von
TransitionManagerzum Minimieren/Maximieren von Elementen inRecyclerViewwurde behoben (b/37129527). - Es wurde ein Fehler behoben, durch den das Verhalten von
RecyclerView.OnItemTouchListenernicht mit dem Verhalten vononInterceptTouchEventundonTouchEventdes Ansichtssystems übereinstimmte (aosp/721235). - Einige Grenzfall-Bugs im Zusammenhang mit dem reibungslosen Scrollen wurden behoben (aosp/729718, aosp/747168, aosp/812576).
- Die Snap-Strategie in
PagerSnapHelperwurde korrigiert, um nicht typische untergeordnete Ansichten zu verarbeiten (aosp/795752).
androidx.recyclerview-selection 1.1.0-alpha01
Fehlerkorrekturen
- Der Fehler
ConcurrentModificationExceptionwurde behoben, der auftrat, wenn sich das Dataset durch Entfernen der Auswahl geändert hat.
RecyclerView-Selection Version 1.1.0
RecyclerView-Selection Version 1.1.0
27. Januar 2021
androidx.recyclerview:recyclerview-selection:1.1.0 ist veröffentlicht. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- Zahlreiche Stabilitätsverbesserungen.
- Die Methoden
withGestureTooltypesundwithPointerTooltypeswurden amSelectionTracker.Buildereingestellt. Diese Methoden werden in einer zukünftigen Version entfernt.
RecyclerView-Selection Version 1.1.0-rc03
1. Oktober 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc03 ist veröffentlicht. Version 1.1.0-rc03 enthält diese Commits.
Fehlerkorrekturen
Vielen Dank an Stefan Kiesler für das Testen von Korrekturen und das Feedback.
- Es wurde ein Problem behoben, bei dem OnClickListener für untergeordnete Ansichten während der aktiven Auswahl unerwartet aufgerufen wurden.
- Maus-Handler (Band-Auswahl) > Unerwartete Scrollvorgänge korrekt verarbeiten. (b/167821507)
RecyclerView-Selection Version 1.1.0-rc02
2. September 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc02 ist veröffentlicht. Version 1.1.0-rc02 enthält diese Commits.
Top-Aktivitäten
- Es wurden mehrere Regressionen aus Version 1.0 bei der Eingabebehandlung behoben.
- Die Bibliothek wurde aktualisiert, um
onRequestDisallowInterceptTouchEventzu berücksichtigen. Dadurch lässt sie sich gut mit ItemTouchHelper verwenden (einfach wegwischen!).
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem die Auswahlbibliothek
GestureDetector-Ereignisse falsch interpretiert hat, was zu verlorenen Taps während der aktiven Auswahl geführt hat (b/165030422). - Ein Problem wurde behoben, bei dem die Auswahl nicht aktualisiert wurde, um Elemente zu berücksichtigen, die aus dem Adapter entfernt wurden. (b/138932671)
- Ein Problem wurde behoben, bei dem für RecyclerView-Elemente onClick-Ereignisse ausgelöst wurden, während SelectionTracker eine aktive Auswahl hatte (b/161162268).
onRequestDisallowInterceptTouchEventwird jetzt korrekt verarbeitet- Ein Problem wurde behoben, bei dem
”Cannot call this method in a scroll callback”beim Scrollen mit der Maus auf Q angezeigt wurde. - Die Dokumentation wurde aktualisiert (insbesondere in
StableIdKeyProvider), um die Anforderungen an die RecyclerView-Instanz klar zu formulieren.
RecyclerView-Selection Version 1.1.0-rc01
5. Februar 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc01 ist veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem es schwierig war, in RecyclerView mit einer Auswahl per Geste zu scrollen, wenn die Liste mit einem scrollbaren AppBarLayout interagiert (aosp/1193934).
RecyclerView-Selection Version 1.1.0-beta01
4. Dezember 2019
androidx.recyclerview:recyclerview-selection:1.1.0-beta01 ist veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.
Allgemeine Verbesserungen der Stabilität im Zusammenhang mit defensiven Prüfungen und der Verwaltung des internen Status.
Fehlerkorrekturen
- Die Verwaltung des Bibliotheksstatus und die Interpretation von CANCEL-Ereignissen wurden verbessert, was zu einer höheren Stabilität führt.
API-Änderungen
- Klassen und Methoden, in denen der Parameter für den Auswahl-Schlüsseltyp fehlte, wurde er hinzugefügt.
- Eingestellte Methoden:
- SelectionTracker.Builder#withPointerTooltype
- SelectionTracker.Builder#withGestureTooltype
- Diese Methoden wurden mit der Absicht entwickelt, dass Entwickler Zeiger- oder Gestenverhalten anderen Tooltypen als den Standardtypen* zuordnen können. Die Intention war gut, aber bei der weiteren Verwendung wurde deutlich, dass die Erwartungen der Nutzer in Bezug auf das Eingabeverhalten sehr werkzeugtypspezifisch sind. Außerdem werden passive Stifte im Android-Eingabesystem als FINGER-Tooltyp behandelt.
- Die Standard-Tooltypen sind FINGER für „Geste“ und MOUSE für „Zeiger“.