我想在一次操作中更新
mutableStateListOf
的实例,以便 UI 不会在刷新旧值和设置新值之间闪烁。这可能吗?我查看了自动完成的建议,但没有找到任何 pause 和 resume 或类似的 API。
val dataset = mutableStateListOf<String>("foo", "bar")
dataset.clear() // <-- UI flickers to zero
dataset.add("bas") // <-- UI shows new numbers
该列表包含需要根据用户请求的操作进行切换的数据集的名称。假设现在有
foo
和 bar
处于活动状态,并且用户决定切换到 baz
。切换使 UI 闪烁,因为我找不到一步执行该切换的方法。
SnapshotStateList
的文档,发现 prependStateRecord
可以做到这一点:
dataset.prependStateRecord(mutableStateListOf("baz").firstStateRecord)