我有一个mutableStateMapOf
类型的字段:
var dataPool by mutableStateMapOf("archive" to true, "pending" to true)
字符串
我想通过Checkbox
修改它的值,所以我试了一下:
Checkbox(checked = true, onCheckedChange = {viewModel.dataPool["archive"]=it})
型
然而,Kotlin告诉我,dataPool
是一个boolean
。为什么呢?我以为我把它初始化为map
。我不明白这里发生了什么。通常当你初始化一个mutableState
时,它的类型是我用作参数的,但为什么这次不是呢?
1条答案
按热度按时间cx6n0qe31#
这真的很奇怪,为什么它有一个委托,返回一个布尔值,并抛出异常,当你试图阅读它的撰写版本1.5.4。
您可以使用
=
而不是by
从mutableStateMapOf
获取SnapshotStateMap<String, Boolean>
字符串