小编bug*_*gra的帖子

MutableStateFlow 不适用于 MutableList

这是我尝试使用的 MutableStateFlow 值:

val songList: MutableStateFlow<MutableList<Song>> = MutableStateFlow(arrayListOf())
Run Code Online (Sandbox Code Playgroud)

我需要观察上面 MutableList 上的更改(在 add、removeAt 等方法之后),但无法实现这一点。我的猜测是,因为只有列表的元素发生变化,而不是列表本身发生变化,所以不会触发收集方法。

如果可能的话,如何使用 StateFlow 实现这一目标?如果不是,正确的做法是什么?

请注意,我需要 arrayListOf() 的初始值,因此 LiveData 对我来说可能不够。

android reactive-programming android-livedata kotlin-stateflow

6
推荐指数
1
解决办法
4162
查看次数