RecyclerViewRecyclerView

"Recyclerview" ist eine Ansichts Gruppe zum Anzeigen von Sammlungen. Es ist für eine flexiblere Ersetzung für ältere Ansichts Gruppen wie ListView und GridView konzipiert. In diesem Handbuch wird erläutert, wie Sie in xamarin. Android-Anwendungen recyclerview verwenden und anpassen.RecyclerView is a view group for displaying collections; it is designed to be a more flexible replacement for older view groups such as ListView and GridView. This guide explains how to use and customize RecyclerView in Xamarin.Android applications.

RecyclerViewRecyclerView

Viele apps müssen Auflistungen desselben Typs anzeigen (z. b. Nachrichten, Kontakte, Bilder oder Lieder); Diese Sammlung ist zu groß, um auf den Bildschirm zu passen, sodass die Auflistung in einem kleinen Fenster dargestellt wird, das reibungslos durch alle Elemente in der Auflistung Scrollen kann.Many apps need to display collections of the same type (such as messages, contacts, images, or songs); often, this collection is too large to fit on the screen, so the collection is presented in a small window that can smoothly scroll through all items in the collection. RecyclerViewist ein Android-Widget, das eine Auflistung von Elementen in einer Liste oder einem Raster anzeigt, sodass der Benutzer einen Bildlauf durch die Auflistung durchführen kann.RecyclerView is an Android widget that displays a collection of items in a list or a grid, enabling the user to scroll through the collection. Der folgende Screenshot zeigt eine Beispiel-APP, die verwendet RecyclerView , um den Inhalt von e-Mail-Posteingang in einer vertikalen scrollliste anzuzeigen:The following is a screenshot of an example app that uses RecyclerView to display email inbox contents in a vertical scrolling list:

Beispiel-App mit "recyclerview" zum Auflisten von Posteingangs NachrichtenExample app using RecyclerView to list inbox messages

RecyclerViewbietet zwei überzeugende Features:RecyclerView offers two compelling features:

  • Es verfügt über eine flexible Architektur, mit der Sie das Verhalten ändern können, indem Sie Ihre bevorzugten Komponenten anbinden.It has a flexible architecture that lets you modify its behavior by plugging in your preferred components.

  • Sie ist mit großen Auflistungen effizient, da Sie Element Sichten wieder verwendet und die Verwendung von Ansichts Besitzern zum Zwischenspeichern von Ansichts verweisen erfordert.It is efficient with large collections because it reuses item views and requires the use of view holders to cache view references.

In diesem Handbuch wird erläutert, RecyclerView wie Sie in xamarin. Android-Anwendungen verwenden. es wird RecyclerView erläutert, wie Sie das Paket zu Ihrem xamarin. Android- RecyclerView Projekt hinzufügen, und es wird beschrieben, wie Funktionen in einer typischen Anwendung verwendet werden.This guide explains how to use RecyclerView in Xamarin.Android applications; it explains how to add the RecyclerView package to your Xamarin.Android project, and it describes how RecyclerView functions in a typical application. Echte Codebeispiele werden bereitgestellt, um Ihnen zu zeigen RecyclerView , wie Sie in Ihre Anwendung integrieren, wie Sie die Element Ansicht implementieren und wie RecyclerView Sie aktualisiert werden, wenn sich die zugrunde liegenden Daten ändern.Real code examples are provided to show you how to integrate RecyclerView into your application, how to implement item-view click, and how to refresh RecyclerView when its underlying data changes. In dieser Anleitung wird davon ausgegangen, dass Sie mit der xamarin. Android-Entwicklung vertraut sind.This guide assumes that you are familiar with Xamarin.Android development.

AnforderungenRequirements

Obwohl RecyclerView häufig mit Android 5,0 Lollipop verknüpft ist, wird es als Support Bibliothek – RecyclerView für apps angeboten, die auf API Level 7 (Android 2,1) und höher ausgerichtet sind.Although RecyclerView is often associated with Android 5.0 Lollipop, it is offered as a support library – RecyclerView works with apps that target API level 7 (Android 2.1) and later. Folgendes ist erforderlich, um in RecyclerView xamarin-basierten Anwendungen zu verwenden:The following is required to use RecyclerView in Xamarin-based applications:

  • Xamarin. Android – xamarin. Android 4,20 oder höher muss entweder mit Visual Studio oder mit Visual Studio für Mac installiert und konfiguriert werden.Xamarin.Android – Xamarin.Android 4.20 or later must be installed and configured with either Visual Studio or Visual Studio for Mac.

  • Das App-Projekt muss das xamarin. Android. Support. V7. recyclerview -Paket enthalten.Your app project must include the Xamarin.Android.Support.v7.RecyclerView package. Weitere Informationen zum Installieren von nuget-Paketen finden Sie unter Exemplarische Vorgehensweise: Einschließen eines nuget-Projekts inIhr Projekt.For more information about installing NuGet packages, see Walkthrough: Including a NuGet in your project.

ÜbersichtOverview

RecyclerViewkann als Ersatz für die ListView Widgets und GridView in Android angesehen werden.RecyclerView can be thought of as a replacement for the ListView and GridView widgets in Android. Wie die Vorgänger RecyclerView ist so konzipiert, dass ein großes Dataset in einem kleinen Fenster angezeigt wird RecyclerView , aber es werden Weitere Layoutoptionen angeboten, die für die Anzeige von großen Auflistungen optimiert sind.Like its predecessors, RecyclerView is designed to display a large data set in a small window, but RecyclerView offers more layout options and is better optimized for displaying large collections. Wenn Sie mit ListViewvertraut sind, gibt es einige wichtige Unterschiede ListView zwischen RecyclerViewund:If you are familiar with ListView, there are several important differences between ListView and RecyclerView:

  • RecyclerViewist etwas komplexer zu verwenden: Sie müssen mehr Code schreiben, der im Vergleich RecyclerView zu ListViewverwendet werden kann.RecyclerView is slightly more complex to use: you have to write more code to use RecyclerView compared to ListView.

  • RecyclerViewstellt keinen vordefinierten Adapter bereit. Sie müssen den Adapter Code implementieren, der auf Ihre Datenquelle zugreift.RecyclerView does not provide a predefined adapter; you must implement the adapter code that accesses your data source. Android enthält jedoch mehrere vordefinierte Adapter, die mit ListView und GridViewfunktionieren.However, Android includes several predefined adapters that work with ListView and GridView.

  • RecyclerViewbietet kein Element-Click-Ereignis, wenn ein Benutzer auf ein Element tippt. Stattdessen werden Element-Click-Ereignisse von Hilfsklassen behandelt.RecyclerView does not offer an item-click event when a user taps an item; instead, item-click events are handled by helper classes. Im Gegensatz dazu ListView bietet ein Element-Click-Ereignis.By contrast, ListView offers an item-click event.

  • RecyclerViewverbessert die Leistung durch die Wiederverwendung von Sichten und durch Erzwingen des Ansichts Inhaber-Musters, das unnötige layoutressourcenlookups eliminiert.RecyclerView enhances performance by recycling views and by enforcing the view-holder pattern, which eliminates unnecessary layout resource lookups. Die Verwendung des Ansichts Inhaber Musters ist in ListViewoptional.Use of the view-holder pattern is optional in ListView.

  • RecyclerViewbasiert auf einem modularen Entwurf, der die Anpassung erleichtert.RecyclerView is based on a modular design that makes it easier to customize. Beispielsweise können Sie eine andere Layoutrichtlinie ohne wesentliche Codeänderungen an Ihrer APP einbinden.For example, you can plug in a different layout policy without significant code changes to your app. Im Gegensatz dazu ListView ist in der-Struktur relativ monolithischer.By contrast, ListView is relatively monolithic in structure.

  • RecyclerViewenthält integrierte Animationen für das Hinzufügen und Entfernen von Elementen.RecyclerView includes built-in animations for item add and remove. ListViewAnimationen erfordern einen zusätzlichen Aufwand für den App-Entwickler.ListView animations require some additional effort on the part of the app developer.

AbschnitteSections

Recyclerview-Teile und-FunktionalitätRecyclerView Parts and Functionality

In diesem Thema Adapterwird erläutert, wie, ViewHolder und zusammen als Hilfsklassen zur unter RecyclerViewStützung von verwendet werden LayoutManager.This topic explains how the Adapter, LayoutManager, and ViewHolder work together as helper classes to support RecyclerView. Sie bietet eine allgemeine Übersicht über jede dieser Hilfsklassen und erläutert, wie Sie Sie in Ihrer APP verwenden.It provides a high-level overview of each of these helper classes and explains how you use them in your app.

Ein grundlegendes recyclerview-BeispielA Basic RecyclerView Example

Dieses Thema baut auf den Informationen in den teilen und Funktionen von recyclerview auf und bietet echte Codebeispiele für die RecyclerView Implementierung der verschiedenen Elemente zum Erstellen einer realen Foto-Browser-app.This topic builds on the information provided in RecyclerView Parts and Functionality by providing real code examples of how the various RecyclerView elements are implemented to build a real-world photo-browsing app.

Erweitern des recyclerview-BeispielsExtending the RecyclerView Example

In diesem Thema wird der Beispiel-APP, die in einem grundlegenden recyclerview-Beispiel dargestellt wird, zusätzlicher Code hinzugefügt, um RecyclerView zu veranschaulichen, wie Elemente mit Klick Ereignissen behandelt und wann die zugrunde liegende Datenquelle geändert wirdThis topic adds additional code to the example app presented in A Basic RecyclerView Example to demonstrate how to handle item-click events and update RecyclerView when the underlying data source changes.

ZusammenfassungSummary

In diesem Leitfaden wurde das RecyclerView Android-Widget vorgestellt. es wurde erläutert RecyclerView , wie die Unterstützungs Bibliothek zu xamarin. Android RecyclerView -Projekten hinzugefügt wird, wie Ansichten wieder verwendet werden, wie das Ansichts Inhaber-Muster für Effizienz und wie die verschiedenen Hilfsklassen, die zusammen RecyclerView arbeiten, um Auflistungen anzuzeigen.This guide introduced the Android RecyclerView widget; it explained how to add the RecyclerView support library to Xamarin.Android projects, how RecyclerView recycles views, how it enforces the view-holder pattern for efficiency, and how the various helper classes that make up RecyclerView collaborate to display collections. Es wurde ein Beispielcode bereitgestellt RecyclerView , um zu veranschaulichen, wie in eine Anwendung integriert ist RecyclerView. es wurde erläutert, wie Sie die Layoutrichtlinie anpassen können, indem Sie in verschiedene LayoutManager eingebunden werden, und es wurde beschrieben, wie Sie Click-Ereignisse RecyclerViewvon Datenquellen Änderungen.It provided example code to demonstrate how RecyclerView is integrated into an application, it explained how to tailor RecyclerView's layout policy by plugging in different layout managers, and it described how to handle item click events and notify RecyclerView of data source changes.

Weitere Informationen zu RecyclerViewfinden Sie in der " recyclerview"-Klassenreferenz.For more information about RecyclerView, see the RecyclerView class reference.