Recyclerview

Große Datenmengen in der Benutzeroberfläche anzeigen und gleichzeitig die Arbeitsspeichernutzung minimieren.

In dieser Tabelle sind alle Artefakte in der Gruppe androidx.recyclerview aufgeführt.

Artefakt Stabile Version Release Candidate Beta-Ausgabe Alphaversion
recyclerview 1.3.2 1.4.0-rc01 - -
recyclerview-selection 1.1.0 - - 1.2.0-alpha01
Diese Bibliothek wurde zuletzt am 18. September 2024 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 der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die erforderlichen Artefakte hinzu:

Cool

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")
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.4

Version 1.4.0-rc01

18. September 2024

androidx.recyclerview:recyclerview:1.4.0-rc01 ist veröffentlicht und es gab keine Änderungen seit 1.4.0-alpha02. Version 1.4.0-rc01 enthält diese Commits.

Änderungen seit Version 1.3.2

Kompatibilitätshinweis: Diese Version kann nur mit dem SDK für API 35 (Vanilla Ice Cream) oder höher kompiliert werden. Wenn Sie beim Upgrade AGP-Warnungen (Android Gradle Plugin) sehen, können Sie sie unterdrücken.

Neue Funktionen

  • Unterstützung der Adaptive-Aktualisierungsrate: RecyclerView ruft jetzt setFrameContentVelocity auf, wenn über OverScroller gescrollt wird (z. B. nach dem Abbremsen eines Wischvorgangs oder eines flüssigen Scrollens). (I8f8a4)

API-Änderungen

  • Fügen Sie die RecyclerView$LayoutManager#isLayoutReversed API hinzu. (I4970e)

Sonstige Änderungen

  • Die manuelle Kennzeichnung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies bei Verwendung von R8 mit AGP 7.3 oder höher (z.B. R8 Version 3.3) und für alle Builds bei Verwendung von AGP 8.1 oder höher (z.B. D8 Version 8.1) automatisch über die API-Modellierung erfolgt. Kunden, 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 RecyclerView-Binde-/Erstellungsabschnitten den Artikelansichtstyp hinzu und kennzeichnen Sie RV-Prefetches als „erzwungen – für nächsten Frame erforderlich“, wenn sie voraussichtlich vom nächsten Frame verwendet werden und daher so schnell wie möglich gestartet werden sollten. (I8ec3e, b/309523615)
  • Aktualisieren Sie compileSdk auf 35. Weitere Informationen finden Sie oben im Abschnitt „Kompatibilitätsanmerkung“. 5dc41be

Version 1.4.0-beta01

21. August 2024

androidx.recyclerview:recyclerview:1.4.0-beta01 ist veröffentlicht und es gab seit 1.4.0-alpha02 keine Änderungen. Version 1.4.0-beta01 enthält diese Commits.

Kompatibilitätshinweis: Diese Version kann nur mit dem SDK für API 35 (Vanilla Ice Cream) oder höher kompiliert werden. Wenn Sie beim Upgrade AGP-Warnungen (Android Gradle Plugin) sehen, können Sie sie unterdrücken.

Version 1.4.0-alpha02

7. August 2024

androidx.recyclerview:recyclerview:1.4.0-alpha02 wird veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.

Kompatibilitätshinweis: Diese Version kann nur mit dem SDK für API 35 (Vanilla Ice Cream) oder höher kompiliert werden. Wenn Sie beim Upgrade AGP-Warnungen (Android Gradle Plugin) sehen, können Sie sie unterdrücken.

Neue Funktionen

  • Unterstützung für variable Bildwiederholraten: RecyclerView ruft jetzt setFrameContentVelocity auf, wenn es über OverScroller scrollt (z. B. beim Abbremsen nach einem Wisch oder einem flüssigen Scrollen). (I8f8a4)

API-Änderungen

  • Eingestellte ViewCompat.LAYOUT_DIRECTION_ APIs (I51710, b/317055535)
  • Fügen Sie die RecyclerView$LayoutManager#isLayoutReversed API hinzu. (I4970e)

Sonstige Änderungen

  • Die manuelle Kennzeichnung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies bei Verwendung von R8 mit AGP 7.3 oder höher (z.B. R8 Version 3.3) und für alle Builds bei Verwendung von AGP 8.1 oder höher (z.B. D8 Version 8.1) automatisch über die API-Modellierung erfolgt. Kunden, 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üge den RecyclerView-Binde-/Erstellungsabschnitten den Artikelansichtstyp hinzu und kennzeichne RV-Prefetches als „erzwungen – für nächsten Frame erforderlich“, wenn sie voraussichtlich vom nächsten Frame verwendet werden und daher so schnell wie möglich gestartet werden sollten. (I8ec3e, b/309523615)
  • Aktualisieren Sie compileSdk auf 35. Weitere Informationen finden Sie oben im Abschnitt „Kompatibilitätshinweis“. 5dc41be

Externer Beitrag

  • GestureDetectorCompat wird 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 wird veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.

API-Änderungen

  • Fügen Sie die RecyclerView$LayoutManager#isLayoutReversed API hinzu. (I4970e)

Fehlerkorrekturen

  • Fehler behoben, der sporadisch zu Abstürzen während von 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 wird veröffentlicht. Version 1.3.2 enthält diese Commits.

Fehlerkorrekturen

  • Ein Fehler wurde behoben, der sporadisch zu Abstürzen während von Animationen führte. (I42f22b)

Version 1.3.1

Version 1.3.1

26. Juli 2023

androidx.recyclerview:recyclerview:1.3.1 ist veröffentlicht, ohne Änderungen seit 1.3.1-rc01. Version 1.3.1 enthält diese Commits.

Die Versionshinweise der vorherigen Version finden Sie auf der Seite mit den Versionshinweisen.

Version 1.3.1-rc01

24. Mai 2023

androidx.recyclerview:recyclerview:1.3.1-rc01 wird veröffentlicht. Version 1.3.1-rc01 enthält diese Commits.

Nutzer von ViewPager2 müssen auf mindestens 1.1.0-beta02 aktualisieren, wenn sie auf diese Version von RecyclerView umstellen, um Abstürze zu vermeiden.

API-Änderungen

  • Neue setDebugAssertionsEnabled- und setVerboseLoggingEnabled-Methoden hinzufügen, die bei der Behebung von RecyclerView-bezogenen Problemen in Apps helfen können (I514b9)

Fehlerkorrekturen

  • Abstürze für Nutzer von ViewTreeLifecycleOwner (einschließlich ComposeView) 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 gibt keine Änderungen seit 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 und die sich auf die Verwendung mit Jetpack Compose auswirken. Wenn Sie Compose 1.2.0-beta02 oder höher verwenden und die in den vorherigen Interoperabilitätsrichtlinien beschriebenen MyComposeAdapter- und DisposeOnViewTreeLifecycleDestroyed-ViewCompositionStrategy-Elemente verwendet haben, sollten Sie diese entfernen, da sie nicht mehr eine Verbesserung gegenüber dem Standardstatus darstellen.
  • Neue ConcatAdapter.getWrappedAdapterAndPosition-Methode hinzugefügt, um Informationen zu verpackten Adaptern abzurufen, wenn kein ViewHolder vorhanden ist, z. B. bei einem SpanSizeLookup (I2bd4c, b/191543920)

Version 1.3.0-rc01

21. September 2022

androidx.recyclerview:recyclerview:1.3.0-rc01 wird 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 wird veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.

API-Änderungen

  • Anmerkungen zur Nullbarkeit, die in 1.3.0-beta01 hinzugefügt wurden, wurden entfernt, da sie eine erhebliche quelleninkompatibile Änderung für Kotlin-Nutzer darstellten (I7a258,I1557e6,I8db76)

Version 1.3.0-beta01

29. Juni 2022

androidx.recyclerview:recyclerview:1.3.0-beta01 wird 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 in den vorherigen Interoperabilitätsrichtlinien beschriebenen MyComposeAdapter- und DisposeOnViewTreeLifecycleDestroyed-ViewCompositionStrategy-Elemente verwendet haben, sollten Sie diese entfernen, da sie nicht mehr eine Verbesserung gegenüber dem Standardstatus 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. Diese Änderung kann für einige Kotlin-Nutzer eine Quellbrüche bewirken und bei einigen Java-Nutzern zu zusätzlichen Lint-Warnungen/-Fehlern führen. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)

Fehlerkorrekturen

  • Achten Sie darauf, dass Raster von A11Y-Diensten als Raster behandelt werden, indem Sie einen A11Y-Knoten-Infoklassennamen festlegen. (I12812)

Version 1.3.0-alpha02

6. April 2022

androidx.recyclerview:recyclerview:1.3.0-alpha02 wird veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.

API-Änderungen

  • Es werden experimentelle BuildCompat-Methoden für zukünftige SDKs hinzugefügt (Iafd82, b/207528937)
  • Neue ConcatAdapter.getWrappedAdapterAndPosition-Methode hinzugefügt, um gewickelte Adapterinformationen in Situationen abzurufen, in denen kein ViewHolder vorhanden ist, z. B. bei einem SpanSizeLookup (I2bd4c, b/191543920)

Fehlerkorrekturen

  • Integration in die neue AndroidX-Bibliothek „PoolingContainer“ (Ib89d2)
  • Passt den Scrollabstand für Bedienungshilfen an (If74ae)

Version 1.3.0-alpha01

15. September 2021

androidx.recyclerview:recyclerview:1.3.0-alpha01 wird veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Unterstützung für RecyclerView mit Stretch-Overscroll hinzugefügt. (Iab877)

RecyclerView-Auswahl Version 1.2.0

Version 1.2.0-alpha01

5. Mai 2021

androidx.recyclerview:recyclerview-selection:1.2.0-alpha01 wird veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, durch das die Zuordnung von Schlüssel/Position im KeyProvider verloren ging, während 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 wird 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 wird 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 im selben RecyclerView ganz einfach zusammenführen. Weitere Informationen finden Sie in diesem Blogpost.

Lazy State Restoration: Der RecyclerView-Adapter kann die Wiederherstellung des Status jetzt so verzögern, dass sie erst nach dem Laden des Inhalts erfolgt. Weitere Informationen finden Sie in der Dokumentation.

Version 1.2.0-rc01

24. März 2021

androidx.recyclerview:recyclerview:1.2.0-rc01 wird 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 wird veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, durch das der rechte Überblendungseffekt beim Scrollen aufgrund des oberen Abstands nach oben in den Abstandsbereich verschoben wurde, anstatt nach unten, um den Abstand zu berücksichtigen. (I6b61d, b/118399122)

Version 1.2.0-beta01

2. Dezember 2020

androidx.recyclerview:recyclerview:1.2.0-beta01 wird seit 1.2.0-alpha06 unverändert 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 wird veröffentlicht. Version 1.2.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Es können jetzt mehrere RecyclerListeners hinzugefügt werden. (I70ad8, b/145767095)

API-Änderungen

  • Veraltete Funktion: RecyclerView.setRecyclerListener(RecyclerListener) (I70ad8, b/145767095)

Version 1.2.0-alpha05

22. Juli 2020

androidx.recyclerview:recyclerview:1.2.0-alpha05 wird veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, durch das der Fokus bei einem RecyclerView mit nur einem Element, das den Fokus hat, nicht nach vorne oder hinten verschoben wurde. (6f36b3)
  • ArrayIndexOutOfBoundsException in StaggeredGridLayoutManager korrigiert (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 im Namen von Facebook für den Beitrag.

Version 1.2.0-alpha04

24. Juni 2020

androidx.recyclerview:recyclerview:1.2.0-alpha04 wird veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.

API-Änderungen

  • MergeAdapter wurde in ConcatAdapter umbenannt, um Verwechslungen mit verschiedenen Datenzusammenführungsmechanismen 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 wird 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 verschachtelten Scrollvorgängen zusammenarbeitet: (Ibaa58)

Version 1.2.0-alpha02

1. April 2020

androidx.recyclerview:recyclerview:1.2.0-alpha02 wird 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 zeigt MergeAdapter Elemente von adapter1 gefolgt von adapter2 an.

  • 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 folgende Nummern anrufen:

    myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
    

    damit RecyclerView wartet, bis der Adapter nicht mehr leer ist, bevor die Scrollposition wiederhergestellt wird.

  • CollectionInfo und CollectionItemInfo werden nicht mehr standardmäßig ausgefüllt.

    • Wenn Dienste zur Barrierefreiheit (z. B. TalkBack) dem Nutzer weiterhin die Anzahl und den Artikelindex anzeigen sollen, müssen Sie „CollectionInfo“ und „CollectionItemInfo“ selbst ausfüllen.

    • Diese Objekte werden nicht mehr im Framework eingefügt, da das Framework die Anzahl der vom Nutzer wahrgenommenen Elemente nicht ermitteln kann (z. B. Trennlinien, Überschriften oder RecyclerView-Elemente, die mehrere wahrgenommene Elemente darstellen).

Fehlerkorrekturen

  • RecyclerView verhindert jetzt das Anpinnen 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 Originalelement 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 wird veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.

Fehlerkorrekturen

  • Geringe Probleme mit FastScroller im Zusammenhang mit RTL-Zeichnen und Touch-Genauigkeit behoben (b/143789932, aosp/1130438)
  • Ein Absturz in ItemTouchHelper wurde behoben, der auftrat, wenn ein Element aus dem 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 wird veröffentlicht. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • Bei PagerSnapHelper und LinearSnapHelper wird jetzt unabhängig vom Wert von clipToPadding der Abstand von RecyclerView berücksichtigt (b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/1130728)
  • RecyclerView.setLayoutTransition(LayoutTransition) wird offiziell eingestellt und es wird eine IllegalArgumentException ausgelöst, wenn die Funktion mit einem nicht nullwertigen Wert aufgerufen wird. Verwenden Sie stattdessen RecyclerView.setItemAnimator(ItemAnimator). (aosp/839414)
  • aosp/723649: RecyclerView implementiert jetzt NestedScrollingChild3, sodass es darüber informiert werden kann, wenn alle übergeordneten Elemente mit verschachteltem Scrollen nicht mehr die Entfernungen für das verschachtelte Scrollen verbrauchen. Wenn RecyclerView.onNestedScroll(View, int, int, int, int, int) derzeit durch Entwicklercode überschrieben wird, wird es wahrscheinlich nicht mehr aufgerufen. Stattdessen sollte RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]) überschrieben werden.
  • RecyclerView hat jetzt ein Standardstilattribut: recyclerViewStyle. Damit lässt sich der Standardstil in Ihrem Design festlegen.
  • Die API für die Barrierefreiheit von ViewCompat beeinträchtigt den RecyclerView ItemDelegate nicht mehr.
  • 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: RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration) hinzugefügt, mit der Sie eine Dauer in Millisekunden für die Animation angeben können. (aosp/952807)

Version 1.1.0-rc01

23. Oktober 2019

androidx.recyclerview:recyclerview:1.1.0-rc01 wird veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Das Problem wurde behoben, dass beim Überschreiben von RecyclerViewAccessibilityDelegate.ItemDelegate die Meldung „Die Anwendung reagiert nicht“ angezeigt wurde (aosp/1138057, aosp/1133434).

Version 1.1.0-beta05

9. Oktober 2019

androidx.recyclerview:recyclerview:1.1.0-beta05 wird veröffentlicht. Version 1.1.0-beta05 enthält diese Commits.

API-Änderungen

  • Als Reaktion auf aosp/1106715 und aosp/1103182 geben LinearSnapHelper und PagerSnapHelper jetzt die Ansicht zurück, die sich in der Mitte des RecyclerView-Bereichs befindet, abzüglich des Abstands, unabhängig vom Wert von clipToPadding. (aosp/1130728)

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem RecyclerView doppelte Knoten für die Barrierefreiheit für untergeordnete Elemente von RecyclerView generierte. (aosp/1130618)
  • Ein Problem wurde behoben, durch das virtuelle Hierarchien für Barrierefreiheit 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 wird veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Fehlerkorrekturen

  • Bei PagerSnapHelper und LinearSnapHelper wird jetzt unabhängig vom Wert von clipToPadding der Abstand von RecyclerView berücksichtigt (b/139452422, b/139012032, aosp/1103182, aosp/1106715)
  • Ein Fehler wurde behoben, durch den RecyclerView das Unterbrechen von Touch-Ereignissen nicht verhinderte, wenn durch verschachtelte Vorab-Scrollvorgänge ein NestedScrollingParent scrollte (b/138668210, aosp/1105373). Das ist von Vorteil für Bibliotheken wie ViewPager2.
  • RecyclerView geht jetzt immer zu SCROLL_STATE_DRAGGING, bevor verschachtelte Vorab-Scrolls gesendet werden (aosp/1105373)
  • Verschachteltes Vorab-Scrollen wird nicht mehr ausgeführt, bevor die Touch-Geste den Touch-Toleranzbereich überschreitet (b/139530818, aosp/1105373)
  • dx- und dy-Argumente, die an verschachtelte Vorab-Scrolls gesendet werden, werden auf null gesetzt, wenn RecyclerView nicht in diese Richtung scrollen kann (aosp/1105373)

Version 1.1.0-beta03

15. August 2019

androidx.recyclerview:recyclerview:1.1.0-beta03 wird veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

API-Änderungen

  • RecyclerView sendet jetzt Scrollabstände über View.onScrollChanged(int l, int t, int oldl, int oldt), damit Dienste zur Barrierefreiheit korrekt über Scrolländerungen informiert werden. (aosp/1007823)

Fehlerkorrekturen

  • Ein schwerwiegender Fehler im Stack-Overflow 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 wird veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • RecyclerView hat jetzt ein Standardstilattribut: recyclerViewStyle. Damit lässt sich der Standardstil in Ihrem Design festlegen.

Fehlerkorrekturen

  • Ein Fehler wurde behoben, durch den RecyclerView das Unterbrechen von Touch-Ereignissen nicht verhinderte, wenn das Scrollen ein NestedScrollingParent-Element zum Scrollen veranlasste. (b/131115697, aosp/1055911)

Version 1.1.0-beta01

2. Juli 2019

androidx.recyclerview:recyclerview:1.1.0-beta01 wird veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • RecyclerView nimmt jetzt am verschachtelten Scrollen teil, wenn das Scrollen über Bedienungshilfenereignisse gestartet 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 werden freigegeben. Die in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • Es wurde eine neue Überladung von smoothScrollBy: RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration) hinzugefügt, mit der Sie eine Dauer in Millisekunden für die Animation angeben können. (aosp/952807)

API-Änderungen

  • GridLayoutManager und StaggeredGridLayoutManager kennzeichnen Elemente mit voller Breite 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 bei verschachteltem Scrollen mit falschen Geschwindigkeiten geschleudert 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 werden freigegeben. 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-Drawable hinzufügen (aosp/937282)
  • LinearLayout.getExtraLayoutSpace(RecyclerVew.State) wird eingestellt und durch einen neuen Mechanismus ersetzt, mit dem auf beiden Seiten benutzerdefinierter zusätzlicher Layoutbereich möglich ist. Die neue Methode ist LinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[]) (aosp/931259).

Fehlerkorrekturen

  • Die Auswahl der Touch-Gesten wurde optimiert (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 wird veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Fehlerkorrekturen

  • Bisher konnte der OnItemTouchListener von RV ACTION_UP nicht abfangen, wodurch der OnItemTouchListener nicht verhindern konnte, dass anderer Code auf ACTION_UP reagierte. Dieses Problem wurde behoben: (aosp/916137)

Version 1.1.0-alpha03

13. März 2019

androidx.recyclerview:recyclerview:1.1.0-alpha03 wird veröffentlicht. Eine vollständige Liste der Commits in dieser Version finden Sie hier.

Neue Funktionen

  • GridLayoutManager: Optionale, höhere Auflösung der GridLayoutManager-Bildlaufleiste (aosp/838836):
    • Anhand von Informationen zur Spannweite werden die Abmessungen der Bildlaufleiste für eine GridLayoutManager geschätzt.
    • Rufe GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean) auf und übergebe „true“, um die Funktion zu aktivieren.
    • Weitere Informationen finden Sie in der Dokumentation zu GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean).

Fehlerkorrekturen

  • Barrierefreiheit: Es gab einen Fehler, bei dem der ItemDelegate, der mit der RecyclerViewAccessibilityDelegate des RecyclerView verknüpft war, nicht mit der ItemView des ViewHolder verknüpft wurde, nachdem der ViewHolder recycelt und dann neu gebunden wurde. Dies beeinträchtigte die Barrierefreiheit. Dieser Fehler wurde behoben (aosp/917740).

Version 1.1.0-alpha02

30. Januar 2019

androidx.recyclerview:recyclerview 1.1.0-alpha02 wird veröffentlicht.

API-Änderungen

  • RecyclerView.setLayoutFrozen(boolean) und RecyclerView.isLayoutFrozen() werden zugunsten von RecyclerView.suppressLayout(boolean) und RecyclerView.isLayoutSuppressed() eingestellt. (aosp/839414)
  • RecyclerView.setLayoutTransition(LayoutTransition) wird offiziell eingestellt und es wird eine IllegalArgumentException ausgelöst, wenn die Funktion mit einem nicht nullwertigen Wert aufgerufen wird. (aosp/839414)

Fehlerkorrekturen

  • Fehler in der Risikobewertung behoben, bei dem SmoothScroller nie beendet wird (aosp/843741)
  • Es wurde ein Fehler behoben, durch den SCROLL_STATE_IDLE möglicherweise nicht am Ende einer Scrollanimation 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 werden freigegeben.

androidx.recyclerview 1.1.0-alpha01

API-Änderungen

  • aosp/723649: RecyclerView implementiert jetzt NestedScrollingChild3, sodass es darüber informiert werden kann, wenn alle übergeordneten Elemente mit verschachteltem Scrollen nicht mehr die Entfernungen für das verschachtelte Scrollen verbrauchen. Wenn RecyclerView.onNestedScroll(View, int, int, int, int, int) derzeit durch Entwicklercode überschrieben wird, wird es wahrscheinlich nicht mehr aufgerufen. Stattdessen sollte RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]) überschrieben werden.

Fehlerkorrekturen

  • Der Absturz beim Zusammen-/Aufklappen von Elementen in RecyclerView mit TransitionManager wurde behoben (b/37129527).
  • Behebung eines Fehlers, durch den das Verhalten von RecyclerView.OnItemTouchListener nicht mit dem Verhalten von onInterceptTouchEvent und onTouchEvent des Ansichtssystems übereinstimmte (aosp/721235)
  • Einige Fehler im Zusammenhang mit dem reibungslosen Scrollen wurden behoben (aosp/729718, aosp/747168, aosp/812576)
  • Die Snap-Strategie in PagerSnapHelper wurde für nicht typische untergeordnete Ansichten korrigiert (aosp/795752)

androidx.recyclerview-selection 1.1.0-alpha01

Fehlerkorrekturen

  • Fehler bei ConcurrentModificationException behoben, wenn sich der Datensatz durch Entfernen der Auswahl geändert hat.

RecyclerView-Auswahl Version 1.1.0

RecyclerView-Auswahl Version 1.1.0

27. Januar 2021

androidx.recyclerview:recyclerview-selection:1.1.0 wird 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 wird veröffentlicht. Version 1.1.0-rc03 enthält diese Commits.

Fehlerkorrekturen

Vielen Dank an Stefan Kiesler für das Testen der Fehlerkorrekturen und das Feedback.

  • Das Problem, dass OnClickListeners der untergeordneten Ansicht während der aktiven Auswahl unerwartet aufgerufen wurden, wurde behoben.
  • Maus-Handler (Bandauswahl) > Unerwartete Scrollbewegungen fehlerfrei verarbeiten (b/167821507)

RecyclerView-Auswahl Version 1.1.0-rc02

2. September 2020

androidx.recyclerview:recyclerview-selection:1.1.0-rc02 wird veröffentlicht. Version 1.1.0-rc02 enthält diese Commits.

Top-Aktivitäten

  • Es wurden mehrere Rückschritte bei der Eingabebehandlung gegenüber Version 1.0 behoben.
  • Die Bibliothek wurde aktualisiert, um onRequestDisallowInterceptTouchEvent zu berücksichtigen. Dadurch kann sie gut mit ItemTouchHelper verwendet werden (einfach wegwischen!).

Fehlerkorrekturen

  • Problem behoben, bei dem die Auswahlbibliothek GestureDetector-Ereignisse falsch interpretiert hat, was zu verlorenen Tippaktionen während der aktiven Auswahl geführt hat (b/165030422)
  • Ein Problem wurde behoben, durch das die Auswahl nicht aktualisiert wurde, um Elemente widerzuspiegeln, die aus dem Adapter entfernt wurden. (b/138932671)
  • Problem behoben, bei dem RecyclerView-Elemente onClick-Ereignisse auslösten, während SelectionTracker eine aktive Auswahl hat (b/161162268)
  • onRequestDisallowInterceptTouchEvent wird jetzt richtig verarbeitet
  • Das Problem, dass beim Scrollen mit der Maus auf „Q“ das Zeichen ”Cannot call this method in a scroll callback” angezeigt wurde, wurde behoben.
  • 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 wird veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem es bei der Interaktion mit einem scrollbaren AppBarLayout schwierig war, mit einer Geste durch RecyclerView zu scrollen (aosp/1193934)

RecyclerView-Auswahlversion 1.1.0-beta01

4. Dezember 2019

androidx.recyclerview:recyclerview-selection:1.1.0-beta01 wird veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.

Allgemeine Verbesserungen der Stabilität im Zusammenhang mit Schutzmaßnahmen und der Verwaltung des internen Zustands.

Fehlerkorrekturen

  • Die Verwaltung des Bibliotheksstatus und die Interpretation von CANCEL-Ereignissen wurden verbessert, was zu Stabilitätsverbesserungen geführt hat.

API-Änderungen

  • Klassen und Methoden, denen der Parameter „selection key type“ fehlte, wurde dieser hinzugefügt.
  • Eingestellte Methoden:
    • SelectionTracker.Builder#withPointerTooltype
    • SelectionTracker.Builder#withGestureTooltype
    • Diese Methoden sollten es Entwicklern ermöglichen, das Verhalten von Mauszeiger oder Touch-Gesten anderen Tooltypen als den Standardtypen zuzuordnen*. Die Absicht war gut, aber bei der weiteren Nutzung wurde klar, dass die Erwartungen der Nutzer in Bezug auf das Eingabeverhalten sehr tooltypspezifisch sind. Außerdem werden „passive“ Eingabestifte vom Android-Eingabesystem als FINGER-Tooltyp betrachtet.
    • Die Standardtooltypen sind FINGER für Touch-Gesten und MOUSE für den Mauszeiger.