我正在从服务器获取数据并将其显示在列表中,可以一键选择每个项目以显示按钮,但我无法关闭它,只能打开它。
这是列表类的项目
data class Task(
val deviceName: String,
val deviceId: String,
var selected :Boolean= Boolean,
)
Run Code Online (Sandbox Code Playgroud)
这是数据类
data class TaskStatus(
val taskList: SnapshotStateList<Task> = SnapshotStateList(),
val selectedNumber: Int = -1,
)
Run Code Online (Sandbox Code Playgroud)
我的ViewModel
private val _status = MutableStateFlow(TaskStatus())
val status = _status.asStateFlow()
fun getList(){
...
for(item in result){
_status.value.taskList.add(task)
}
}
fun selectTask(task: Task) {
val list = _status.value.taskList
val selectNumber = _status.value.selectedNumber
val newSelectNumber = list.indexOf(task)
if (newSelectNumber != selectNumber) {
if (selectNumber != -1) {
list[selectNumber].selected.value = false …Run Code Online (Sandbox Code Playgroud) android kotlin android-jetpack-compose lazycolumn compose-recomposition