0Pricing
Android Academy · Lektion

Grundlagen von RecyclerView

Stellen Sie große Listen mit RecyclerView effizient dar. Erstellen Sie einen Adapter und ViewHolder und verbinden Sie die Daten mithilfe von ViewBinding.

Grundlagen von RecyclerView ist eine kostenlose Android Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 6. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Android Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Android Academy-Kurs umfasst insgesamt 6 Lektionen.

Warum RecyclerView?

RecyclerView ist die Standardmethode, um in Android eine scrollbare Liste von Elementen anzuzeigen.

Im Gegensatz zum älteren ListView:

  • Recycelt RecyclerView Ansichten beim Scrollen – es werden nur so viele erstellt, wie auf den Bildschirm passen
  • Unterstützt vertikale und horizontale Listen sowie Raster
  • Ist mit LayoutManagern stark anpassbar

RecyclerView-Architektur

RecyclerView benötigt drei Bestandteile:

  • RecyclerView – das Widget in Ihrem Layout-XML
  • Adapter – bindet Ihre Daten an Elementansichten
  • ViewHolder – enthält Referenzen auf die Ansichten innerhalb jedes Listenelements

Der Adapter erstellt ViewHolders und bindet beim Scrollen des Benutzers Daten an sie.

RecyclerView zu XML hinzufügen

Fügen Sie das Widget zu Ihrem Layout hinzu und deklarieren Sie die Abhängigkeit in build.gradle:

<!-- In res/layout/activity_main.xml -->
<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<!-- app/build.gradle dependencies: -->
<!-- implementation 'androidx.recyclerview:recyclerview:1.3.2' -->

Layout eines Elements

Erstellen Sie für jedes Listenelement eine separate XML-Datei. Zum Beispiel res/layout/item_fruit.xml:

<!-- res/layout/item_fruit.xml -->
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="16dp"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tvName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/tvCalories"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="14sp" />

</LinearLayout>

Das Datenmodell

Definieren Sie die Datenklasse, die jedes Element Ihrer Liste repräsentiert:

data class Fruit(
    val name: String,
    val calories: Int
)

Den Adapter erstellen

Der Adapter bindet Ihre Daten an das Elementlayout. Er verfügt über drei wichtige Methoden:

  • onCreateViewHolder – bläht das Element-XML auf
  • onBindViewHolder – füllt die Daten für ein Element ein
  • getItemCount – Gesamtanzahl der Elemente

Implementierung des Adapters

Ein vollständiger, minimaler RecyclerView-Adapter:

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView

class FruitAdapter(
    private val fruits: List<Fruit>
) : RecyclerView.Adapter<FruitAdapter.ViewHolder>() {

    class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
        val tvName: TextView = view.findViewById(R.id.tvName)
        val tvCalories: TextView = view.findViewById(R.id.tvCalories)
    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
        val view = LayoutInflater.from(parent.context)
            .inflate(R.layout.item_fruit, parent, false)
        return ViewHolder(view)
    }

    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        val fruit = fruits[position]
        holder.tvName.text = fruit.name
        holder.tvCalories.text = "${fruit.calories} kcal"
    }

    override fun getItemCount() = fruits.size
}

Einrichtung in der Activity

Verknüpfen Sie RecyclerView, Adapter und LayoutManager in Ihrer Activity:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)

    val fruits = listOf(
        Fruit("Apple", 95),
        Fruit("Banana", 105),
        Fruit("Cherry", 50),
        Fruit("Mango", 202)
    )

    val adapter = FruitAdapter(fruits)

    binding.recyclerView.apply {
        this.adapter = adapter
        layoutManager = LinearLayoutManager(this@MainActivity)
    }
}

GridLayoutManager

Ändern Sie den LayoutManager, um statt einer einspaltigen Liste ein Raster anzuzeigen:

  • LinearLayoutManager – vertikale oder horizontale Liste
  • GridLayoutManager(context, spanCount) – Raster mit N Spalten
  • StaggeredGridLayoutManager – versetztes Raster im Pinterest-Stil

Kurze Überprüfung

Welche Aufgabe hat der ViewHolder in einem RecyclerView-Adapter?

Zusammenfassung: RecyclerView-Grundlagen

Sie können nun Listen effizient anzeigen:

  • RecyclerView recycelt Ansichten für eine bessere Leistung
  • Drei Bestandteile: RecyclerView-Widget, Adapter, ViewHolder
  • Das Element-XML definiert das Aussehen einer Zeile oder Karte
  • Der Adapter verbindet Daten in onBindViewHolder mit Ansichten
  • Der LayoutManager steuert Listen-, Raster- oder versetzte Layouts

Als Nächstes: Listenelemente mit Klickereignissen anklickbar machen.

Häufig gestellte Fragen

Ist die Lektion „Grundlagen von RecyclerView“ kostenlos?

Ja — der vollständige Text von „Grundlagen von RecyclerView“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Android Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Android Academy-Kurs umfasst insgesamt 6 Lektionen.

Was lerne ich in „Grundlagen von RecyclerView“?

Stellen Sie große Listen mit RecyclerView effizient dar. Erstellen Sie einen Adapter und ViewHolder und verbinden Sie die Daten mithilfe von ViewBinding. Du übst Android Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Android Academy zu starten?

Keine Vorkenntnisse erforderlich. Android Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 6.

Wie lange dauert die Lektion „Grundlagen von RecyclerView“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Android Academy-Lektion Code schreiben und ausführen?

Ja. Jede Android Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Kotlin-Collections
  2. Grundlagen von RecyclerView
  3. Click-Ereignisse in RecyclerView
  4. SharedPreferences
  5. DataStore Preferences
  6. Adapter und DiffUtil
← Zurück zu Android Academy