Membuat daftar menggunakan beberapa jenis item

Anda dapat menggunakan daftar dengan beberapa jenis item untuk menampilkan jenis konten campuran seperti teks, gambar, dan elemen interaktif.

Kompatibilitas versi

Implementasi ini mengharuskan minSDK project Anda ditetapkan ke API level 21 atau yang lebih tinggi.

Dependensi

Menambahkan beberapa jenis item

Anda dapat menentukan jenis konten untuk setiap item tata letak saat Anda menulis daftar atau petak dengan beberapa jenis item:

@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)

Poin-poin penting tentang kode

  • Menentukan jenis konten untuk setiap item dengan menetapkan contentType di items().
  • Memetakan setiap jenis konten ke composable yang sesuai. Misalnya, Audio adalah contentType yang ditentukan di tempat lain dan dipetakan ke composable AudioMessage.
  • Compose menggunakan kembali composable yang dirender untuk setiap item dari jenis konten tertentu.

Hasil

Output kode yang menampilkan pesan audio dan teks
Gambar 1. Output kode yang menampilkan pesan audio dan teks.

Koleksi yang berisi panduan ini

Panduan ini adalah bagian dari koleksi Panduan Cepat pilihan yang membahas sasaran pengembangan Android yang lebih luas:

Daftar dan petak memungkinkan aplikasi Anda menampilkan koleksi dalam bentuk yang menarik secara visual dan mudah digunakan oleh pengguna.
Pelajari cara fungsi composable dapat memudahkan Anda membuat komponen UI yang menarik berdasarkan sistem desain Desain Material.
Rangkaian video ini memperkenalkan berbagai Compose API, yang dengan cepat menunjukkan kepada Anda apa yang tersedia dan cara menggunakannya.

Ada pertanyaan atau masukan

Buka halaman pertanyaan umum (FAQ) dan pelajari panduan singkat atau hubungi kami dan beri tahu kami pendapat Anda.