This example shows a list of fruits using their id as keys. This helps Compose track each item efficiently when the list changes.
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
data class Fruit(val id: Int, val name: String)
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val fruits = listOf(Fruit(1, "Apple"), Fruit(2, "Banana"), Fruit(3, "Cherry"))
setContent {
FruitList(fruits)
}
}
}
@Composable
fun FruitList(fruits: List<Fruit>) {
LazyColumn {
items(fruits, key = { it.id }) { fruit ->
Text(text = fruit.name)
}
}
}