RecyclerView

Große Datensätze in der Benutzeroberfläche anzeigen und gleichzeitig die Speichernutzung minimieren

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
Diese Bibliothek wurde zuletzt am 17. Dezember 2025 aktualisiert.

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.

Neues Problem melden

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

  • Adaptive Unterstützung für Aktualisierungsrate: RecyclerView ruft jetzt setFrameContentVelocity auf, wenn es über OverScroller gescrollt 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

  • Adaptive Unterstützung für Aktualisierungsrate: RecyclerView ruft jetzt setFrameContentVelocity auf, wenn es über OverScroller gescrollt wird (z. B. nach einem schnellen Wischen oder einem sanften Scrollen). (I8f8a4)

API-Änderungen

  • RecyclerView$LayoutManager#isLayoutReversed API 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 compileSdk auf 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 setFrameContentVelocity auf, 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#isLayoutReversed API 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 compileSdk auf 35 (weitere Informationen finden Sie oben im Abschnitt „Kompatibilitätshinweis“). 5dc41be

Externer Beitrag

  • GestureDetectorCompat ist jetzt eingestellt, da GestureDetector über die minSdk verfü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#isLayoutReversed API 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- und setVerboseLoggingEnabled-Methoden hinzugefügt, die bei der Fehlerbehebung von RecyclerView-bezogenen Problemen in Apps helfen können. (I514b9)

Fehlerkorrekturen

  • Abstürze für Nutzer von ViewTreeLifecycleOwner (einschließlich ComposeView) werden behoben, indem vorübergehend getrennte Ansichten beim Aufrufen von onBind vorü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-beta02 oder höher verwenden und die MyComposeAdapter- und DisposeOnViewTreeLifecycleDestroyed-ViewCompositionStrategy verwendet 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 keine ViewHolder haben, z. B. bei einer SpanSizeLookup (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-beta02 oder höher verwenden und die MyComposeAdapter- und DisposeOnViewTreeLifecycleDestroyed-ViewCompositionStrategy verwendet 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.getWrappedAdapterAndPosition wurde hinzugefügt, um das Abrufen von Informationen zum umschlossenen Adapter in Situationen zu ermöglichen, in denen Sie keinen ViewHolder haben, z. B. bei einem SpanSizeLookup (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 RecyclerView getippt 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

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 eines ConcatAdapter geben jetzt die richtige Adapterposition zurück, wenn sie im onViewRecycled-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.

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.Builder hat jetzt Standardwerte, die mit Config.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)
  • ArrayIndexOutOfBoundsException in StaggeredGridLayoutManager behoben (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

  • MergeAdapter wurde in ConcatAdapter umbenannt, 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 adapter1 und dann aus adapter2 präsentiert.

  • RecyclerView.Adapter Lazy State Restoration:

    • Der Klasse RecyclerView.Adapter wurde 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

  • PagerSnapHelper und LinearSnapHelper berücksichtigen jetzt das Padding von RecyclerView unabhängig vom Wert von clipToPadding (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 eine IllegalArgumentException aus. Verwenden Sie stattdessen RecyclerView.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 derzeit RecyclerView.onNestedScroll(View, int, int, int, int, int) überschreibt, wird er wahrscheinlich nicht mehr aufgerufen und stattdessen sollte RecyclerView.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.ItemDelegate auftrat (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

  • PagerSnapHelper und LinearSnapHelper berücksichtigen jetzt das Padding von RecyclerView unabhängig vom Wert von clipToPadding (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 NestedScrollingParent gescrollt 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 dx und dy, 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

  • RecyclerView unterstü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

  • GridLayoutManager und StaggeredGridLayoutManager kennzeichnen Elemente, die die gesamte Breite einnehmen, nicht mehr automatisch als Überschriften für Bedienungshilfen (aosp/969703).
  • Reihenfolge der Auswahl (nach Erstellungszeit) in recyclerview-selection beibehalten (aosp/937279)

Fehlerkorrekturen

  • Ein Fehler wurde behoben, bei dem RecyclerView in einer Situation mit verschachteltem Scrollen mit falschen Geschwindigkeiten geworfen wurde. (aosp/961642)
  • Stabilitätsverbesserungen für recyclerview-selection hinzugefü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 ist LinearLayout.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ösung GridLayoutManager (aosp/838836):
    • Verwendet Spanneninformationen, um die Abmessungen der Scrollleiste für ein GridLayoutManager zu 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).

Fehlerkorrekturen

  • Barrierefreiheit: Es gab einen Fehler, bei dem die mit dem RecyclerViewAccessibilityDelegate der 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) und RecyclerView.isLayoutFrozen() wurden zugunsten von RecyclerView.suppressLayout(boolean) und RecyclerView.isLayoutSuppressed() eingestellt. (aosp/839414)
  • RecyclerView.setLayoutTransition(LayoutTransition) ist offiziell veraltet und löst beim Aufruf mit einem Wert ungleich null eine IllegalArgumentException aus. (aosp/839414)

Fehlerkorrekturen

  • Fehler im RV behoben, bei dem SmoothScroller nie beendet wird (aosp/843741)
  • Ein Fehler wurde behoben, durch den SCROLL_STATE_IDLE am 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 derzeit RecyclerView.onNestedScroll(View, int, int, int, int, int) überschreibt, wird er wahrscheinlich nicht mehr aufgerufen und stattdessen sollte RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]) überschrieben werden.

Fehlerkorrekturen

  • Ein Absturz bei der Verwendung von TransitionManager zum Minimieren/Maximieren von Elementen in RecyclerView wurde behoben (b/37129527).
  • Es wurde ein Fehler behoben, durch den das Verhalten von RecyclerView.OnItemTouchListener nicht mit dem Verhalten von onInterceptTouchEvent und onTouchEvent des 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 PagerSnapHelper wurde korrigiert, um nicht typische untergeordnete Ansichten zu verarbeiten (aosp/795752).

androidx.recyclerview-selection 1.1.0-alpha01

Fehlerkorrekturen

  • Der Fehler ConcurrentModificationException wurde 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 withGestureTooltypes und withPointerTooltypes wurden am SelectionTracker.Builder eingestellt. 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 onRequestDisallowInterceptTouchEvent zu 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).
  • onRequestDisallowInterceptTouchEvent wird 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“.