RecyclerView

RecyclerView ist eine Ansichtsgruppe zum Anzeigen von Sammlungen. Sie ist als flexiblerer Ersatz für ältere Ansichtsgruppen wie ListView und GridView konzipiert. In diesem Leitfaden wird erläutert, wie RecyclerView in Xamarin.Android-Anwendungen verwendet und angepasst wird.

RecyclerView

Viele Apps müssen Sammlungen desselben Typs anzeigen (z. B. Nachrichten, Kontakte, Bilder oder Titel). häufig ist diese Sammlung zu groß, um auf den Bildschirm zu passen, sodass die Sammlung in einem kleinen Fenster angezeigt wird, in dem problemlos durch alle Elemente in der Sammlung gescrollt werden kann. 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 verwendet, RecyclerView um E-Mail-Posteingangsinhalte in einer vertikalen Bildlaufliste anzuzeigen:

Beispiel-App, die RecyclerView zum Auflisten von Posteingangsnachrichten verwendet.

RecyclerView bietet zwei überzeugende Features:

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

  • Sie ist bei großen Sammlungen effizient, da sie Elementansichten wiederverwendet und die Verwendung von Ansichtsinhabern zum Zwischenspeichern von Ansichtsverweisen erfordert.

In diesem Leitfaden wird erläutert, wie RecyclerView Sie in Xamarin.Android-Anwendungen verwenden. Außerdem wird erläutert, wie Sie das RecyclerView Paket Ihrem Xamarin.Android-Projekt hinzufügen und wie RecyclerView funktionen in einer typischen Anwendung funktionieren. Es werden echte Codebeispiele bereitgestellt, die ihnen zeigen, wie Sie in Ihre Anwendung integrieren, wie Sie RecyclerView Elementansichtsklick implementieren und wie Sie RecyclerView aktualisieren, wenn sich die zugrunde liegenden Daten ändern. In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Xamarin.Android-Entwicklung vertraut sind.

Requirements (Anforderungen)

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

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

  • Ihr App-Projekt muss das Paket Xamarin.Android.Support.v7.RecyclerView enthalten. Weitere Informationen zum Installieren von NuGet-Paketen finden Sie unter Exemplarische Vorgehensweise: Einschließen eines NuGet in Ihr Projekt.

Übersicht

RecyclerView kann als Ersatz für die Widgets und in Android gedacht ListView GridView werden. Wie seine Vorgänger RecyclerView ist für die Anzeige eines großen Datensatzes in einem kleinen Fenster konzipiert, bietet aber mehr RecyclerView Layoutoptionen und ist besser für die Anzeige großer Sammlungen optimiert. Wenn Sie mit vertraut ListView sind, gibt es mehrere wichtige Unterschiede zwischen ListView und RecyclerView :

  • RecyclerView ist etwas komplexer zu verwenden: Sie müssen mehr Code für die Verwendung schreiben RecyclerView als ListView .

  • 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 funktionieren.

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

  • RecyclerView verbessert die Leistung, indem Sichten wiederverwendet und das Muster des Ansichtsinhabers erzwungen wird, wodurch unnötige Layoutressourcensuche vermieden werden. Die Verwendung des Ansichtsinhabermusters ist in ListView optional.

  • RecyclerView basiert auf einem modularen Design, das die Anpassung vereinfacht. Sie können z. B. eine andere Layoutrichtlinie ohne wesentliche 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 Element. ListView -Animationen erfordern zusätzlichen Aufwand des App-Entwicklers.

Abschnitte

RecyclerView-Teile und -Funktionen

In diesem Thema wird erläutert, wie , Adapter LayoutManager und als ViewHolder Hilfsklassen zusammenarbeiten, um zu RecyclerView unterstützen. Es bietet eine allgemeine Übersicht über jede dieser Hilfsklassen und erläutert, wie Sie sie in Ihrer App verwenden.

Ein einfaches RecyclerView-Beispiel

Dieses Thema baut auf den Informationen unter RecyclerView Parts and Functionality auf, indem es echte Codebeispiele bereitstellt, wie die verschiedenen RecyclerView Elemente implementiert werden, um eine echte App zum Durchsuchen von Fotos zu erstellen.

Erweitern des RecyclerView-Beispiels

In diesem Thema wird der Beispiel-App in A Basic RecyclerView Example (Einfaches RecyclerView-Beispiel) zusätzlicher 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 RecyclerView Android-Widget vorgestellt. Es wurde erläutert, wie die RecyclerView Unterstützungsbibliothek zu Xamarin.Android-Projekten hinzugefügt wird, wie RecyclerView Ansichten wiederverwendet werden, wie das ViewHolder-Muster aus Effizienzgründen erzwungen wird und wie die verschiedenen Hilfsklassen RecyclerView zusammenarbeiten, um Sammlungen anzuzeigen. Es wurde Beispielcode bereitgestellt, um zu veranschaulichen, wie RecyclerView in eine Anwendung integriert wird, und es wurde erläutert, wie die RecyclerView Layoutrichtlinie angepasst wird, indem verschiedene Layout-Manager eingebunden werden. Außerdem wurde beschrieben, wie Sie Elementklickereignisse behandeln und über RecyclerView Datenquellenänderungen benachrichtigen.

Weitere Informationen zu RecyclerView finden Sie in der Referenz zur RecyclerView-Klasse.