Liste mit mehreren Artikeltypen erstellen

Sie können eine Liste mit mehreren Elementtypen verwenden, um gemischte Inhaltstypen wie Text, Bilder und interaktive Elemente darzustellen.

Ergebnisse

Codeausgabe mit Audio- und Textnachrichten
Abbildung 1: Codeausgabe mit Audio- und Textnachrichten.

Versionskompatibilität

Für diese Implementierung muss das minSDK Ihres Projekts auf API-Level 21 oder höher festgelegt sein.

Abhängigkeiten

Mehrere Artikeltypen hinzufügen

Sie können den Inhaltstyp für jedes Element des Layouts angeben, wenn Sie eine Liste oder ein Raster mit mehreren Elementtypen erstellen:

@Composable
fun ListWithMultipleItems(messages: List<Any>) {
    LazyColumn {
        items(
            messages.size,
            contentType = { it }
        ) {
            for (message in messages)
                when (message) {
                    is MediaStore.Audio -> AudioMessage(message)
                    is Text -> TextMessage(message)
                }
        }
    }
}

@Composable
fun AudioMessage(message: MediaStore.Audio) {
    TODO("Not yet implemented.")
}

@Composable
fun TextMessage(message: Text) {
    TODO("Not yet implemented.")
}

data class SampleMessage(val text: String, val content: Any)

Wichtige Punkte zum Code

  • Gibt den Inhaltstyp für jedes Element an, indem contentType in items() festgelegt wird.
  • Ordnet jeden Inhaltstyp einem entsprechenden Composable zu. Audio ist beispielsweise ein contentType, das an anderer Stelle definiert und einem zusammensetzbaren AudioMessage zugeordnet ist.
  • Bei Compose werden die gerenderten Composables für jedes Element eines bestimmten Inhaltstyps wiederverwendet.

Sammlungen, die diesen Leitfaden enthalten

Dieser Leitfaden ist Teil der folgenden Kurzanleitungen, die umfassendere Ziele der Android-Entwicklung abdecken:

Mit Listen und Rastern können Sie Sammlungen in Ihrer App auf ansprechende Weise präsentieren, sodass Nutzer sie sich leicht ansehen können.
Hier erfahren Sie, wie Sie mit zusammensetzbaren Funktionen ganz einfach ansprechende UI-Komponenten auf Grundlage des Material Design-Systems erstellen können.
In dieser Videoreihe werden verschiedene Compose-APIs vorgestellt. Sie erfahren, was verfügbar ist und wie Sie die APIs verwenden.

Fragen oder Feedback

Auf unserer Seite mit häufig gestellten Fragen finden Sie Kurzanleitungen. Sie können uns aber auch gern kontaktieren und uns Ihre Meinung mitteilen.