我不断收到 IllegalArgumentException:密钥已被使用。如果您使用 LazyColumn/Row,请确保为每个项目提供唯一的键。
我确信我的钥匙是独一无二的。这是我的示例代码:
@Composable
fun UiComponent() {
LazyColumn(
verticalArrangement = Arrangement.spacedBy(12.dp),
state = scrollState,
reverseLayout = true
) {
items(
items = viewmodel.messages,
key = { item -> item.hashcode() },
itemContent = { item: Entity ->
if (item.isDeleted) {
//show deleted ui
} else {
//show messages
}
})
}
}
}
ViewModel {
init {
observeDataFromDB()
}
private val _messages: MutableList<Entity> = mutableStateListOf()
val messages: List<Entity> = _messages
fun observeDataFromDB() {
viewModelScope.launch {
repo.getData().collect {
_messages.apply {
addNewItem(it) …Run Code Online (Sandbox Code Playgroud)