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.

Hasil

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

Kompatibilitas versi

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

Dependensi

Menambahkan beberapa jenis item

Anda dapat menentukan jenis konten untuk setiap item tata letak saat membuat 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 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 AudioMessage composable.
  • Compose menggunakan kembali composable yang dirender untuk setiap item dari jenis konten tertentu.

Koleksi yang berisi panduan ini

Panduan ini adalah bagian dari koleksi Panduan Singkat pilihan yang mencakup 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 memungkinkan Anda membuat komponen UI yang indah dengan mudah berdasarkan sistem desain Desain Material.
Seri video ini memperkenalkan berbagai Compose API, dengan cepat menunjukkan apa yang tersedia dan cara menggunakannya.

Ada pertanyaan atau masukan

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