Freigeben über


RecyclerView

RecyclerView ist eine Ansichtsgruppe zum Anzeigen von Sammlungen; Es ist so konzipiert, dass es ein flexiblerer Ersatz für ältere Ansichtsgruppen wie ListView und GridView ist. In diesem Handbuch wird erläutert, wie Sie RecyclerView in Xamarin.Android-Anwendungen verwenden und anpassen.

RecyclerView

Viele Apps müssen Sammlungen desselben Typs anzeigen (z. B. Nachrichten, Kontakte, Bilder oder Songs); Diese Sammlung ist häufig zu groß, um auf den Bildschirm zu passen, sodass die Sammlung in einem kleinen Fenster dargestellt wird, das einen reibungslosen Bildlauf durch alle Elemente in der Auflistung ermöglicht. RecyclerView ist ein Android-Widget, das eine Sammlung von Elementen in einer Liste oder einem Raster anzeigt, sodass der Benutzer durch die Sammlung scrollen kann. Im Folgenden sehen Sie einen Screenshot einer Beispiel-App, die zum Anzeigen von E-Mail-Posteingangsinhalten in einer vertikalen Bildlaufliste verwendet RecyclerView wird:

Beispiel-App mit RecyclerView zum Auflisten von Posteingangsnachrichten

RecyclerView bietet zwei überzeugende Features:

  • Es verfügt über eine flexible Architektur, mit der Sie ihr Verhalten ändern können, indem Sie Ihre bevorzugten Komponenten anschließen.

  • Es ist effizient mit großen Sammlungen, da sie Elementansichten wiederverwendet und die Verwendung von Ansichtshaltern zum Zwischenspeichern von Ansichtsverweisen benötigt.

In diesem Handbuch wird die Verwendung RecyclerView in Xamarin.Android-Anwendungen erläutert. Es wird erläutert, wie Sie das RecyclerView Paket zu Ihrem Xamarin.Android-Projekt hinzufügen und wie RecyclerView Funktionen in einer typischen Anwendung funktionieren. Reale Codebeispiele werden bereitgestellt, um Ihnen zu zeigen, wie Sie in Ihre Anwendung integriert RecyclerView werden, wie Sie den Klick auf die Elementansicht implementieren und wie sie aktualisiert RecyclerView werden, wenn sich die zugrunde liegenden Daten ändern. In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Xamarin.Android-Entwicklung vertraut sind.

Anforderungen

Obwohl RecyclerView sie häufig mit Android 5.0 Lollipop verknüpft ist, wird sie als Supportbibliothek angeboten – RecyclerView funktioniert mit Apps, die auf API-Ebene 7 (Android 2.1) und höher abzielen. Für die Verwendung RecyclerView in Xamarin-basierten Anwendungen ist Folgendes erforderlich:

  • Xamarin.Android – Xamarin.Android 4.20 oder höher muss mit Visual Studio oder Visual Studio für Mac installiert und konfiguriert werden.

  • Ihr App-Projekt muss das Paket "Xamarin.Android.Support.v7.RecyclerView " enthalten. Weitere Informationen zum Installieren von NuGet-Paketen finden Sie unter Walkthrough: Including a NuGet in your project.

Übersicht

RecyclerView kann als Ersatz für die ListView Und GridView Widgets in Android betrachtet werden. Wie seine Vorgänger ist es so konzipiert, RecyclerView dass ein großer Datensatz in einem kleinen Fenster angezeigt wird, bietet aber RecyclerView mehr Layoutoptionen und ist besser für die Anzeige großer Sammlungen optimiert. Wenn Sie mit ListViewihnen vertraut sind, gibt es mehrere wichtige Unterschiede zwischen ListView und RecyclerView:

  • RecyclerView ist etwas komplexer zu verwenden: Sie müssen mehr Code schreiben, der RecyclerView im Vergleich zu ListViewverwenden ist.

  • RecyclerView stellt keinen vordefinierten Adapter bereit; Sie müssen den Adaptercode implementieren, der auf Ihre Datenquelle zugreift. Android enthält jedoch mehrere vordefinierte Adapter, die mit ListView und .GridView

  • RecyclerView bietet kein Elementklickereignis an, wenn ein Benutzer auf ein Element tippt; Stattdessen werden Elementklickereignisse von Hilfsklassen behandelt. Im Gegensatz dazu ListView wird ein Elementklickereignis angeboten.

  • RecyclerView verbessert die Leistung durch Das Recycling von Ansichten und durch Erzwingen des Ansichtshaltermusters, wodurch unnötige Layoutressourcensuche beseitigt werden. Die Verwendung des Ansichtshaltermusters ist optional in ListView.

  • RecyclerView basiert auf einem modularen Design, das das Anpassen erleichtert. Sie können z. B. eine andere Layoutrichtlinie ohne erhebliche Codeänderungen an Ihrer App anschließen. Im Gegensatz dazu ListView ist relativ monolithisch in Der Struktur.

  • RecyclerView enthält integrierte Animationen zum Hinzufügen und Entfernen von Elementen. ListView Animationen erfordern zusätzlichen Aufwand im Rahmen des App-Entwicklers.

Abschnitte

RecyclerView-Teile und -Funktionen

In diesem Thema wird erläutert, wie die Adapter, LayoutManagerund ViewHolder zusammenarbeiten als Hilfsklassen zur Unterstützung RecyclerView. Sie bietet eine allgemeine Übersicht über die einzelnen Hilfsklassen und erläutert, wie Sie sie in Ihrer App verwenden.

Ein einfaches RecyclerView-Beispiel

Dieses Thema baut auf den Informationen auf, die in RecyclerView-Komponenten und -Funktionen bereitgestellt werden, indem echte Codebeispiele bereitgestellt werden, wie die verschiedenen RecyclerView Elemente implementiert werden, um eine reale Fotobrowsen-App zu erstellen.

Erweitern des RecyclerView-Beispiels

In diesem Thema wird der Beispiel-App, die in einem einfachen RecyclerView-Beispiel vorgestellt wird, zusätzlichen Code hinzugefügt, um zu veranschaulichen, wie Elementklickereignisse behandelt und aktualisiert RecyclerView werden, wenn sich die zugrunde liegende Datenquelle ändert.

Zusammenfassung

In diesem Leitfaden wurde das Android-Widget RecyclerView eingeführt. Es wurde erläutert, wie Sie die RecyclerView Supportbibliothek zu Xamarin.Android-Projekten hinzufügen, wie Ansichten wiederverwendet werden, wie RecyclerView sie das Ansichtshaltermuster zur Effizienz erzwingt und wie die verschiedenen Hilfsklassen, aus denen die Zusammenarbeit besteht, RecyclerView um Sammlungen anzuzeigen. Es wurde Beispielcode bereitgestellt, um zu veranschaulichen, wie RecyclerView in eine Anwendung integriert wird, es erläutert, wie sie die Layoutrichtlinie anpassen RecyclerView, indem sie verschiedene Layout-Manager einbindet und wie Elementklickereignisse behandelt werden und wie Sie Änderungen der Datenquelle benachrichtigen RecyclerView .

Weitere Informationen RecyclerViewfinden Sie in der RecyclerView-Klassenreferenz.