相关疑难解决方法(0)

Android LiveData/StateFlow 列表项属性更新问题

所以我正在更新我的RecylerView内容StateFlow<List>如下:

我的数据类:

data class Student(val name: String, var isSelected: Boolean)
Run Code Online (Sandbox Code Playgroud)

我的视图模型逻辑:

fun updateStudentsOnSelectionChanged(targetStudent: Student) {
    val targetIndex = _students.value.indexOf(targetStudent)
    val isSelected = !targetStudent.isSelected

    _students.value[targetIndex].isSelected = isSelected        //<- doesn't work
} 
Run Code Online (Sandbox Code Playgroud)

问题: UI没变,但isSelected内部_student变了,这是怎么回事?(和...一样LiveData

android kotlin android-livedata kotlin-flow kotlin-stateflow

7
推荐指数
1
解决办法
3276
查看次数