相关疑难解决方法(0)

从 Fragment 返回时,Flow onEach/collect 会被多次调用

我使用 Flow 而不是 LiveData 来收集片段中的数据。在 Fragment AI 中,观察(或者更确切地说收集)我的片段 onViewCreated 中的数据,如下所示:

lifecycleScope.launchWhenStarted {
            availableLanguagesFlow.collect {
                languagesAdapter.setItems(it.allItems, it.selectedItem)
            }
        }
Run Code Online (Sandbox Code Playgroud)

问题。然后,当我转到片段 B 然后返回片段 A 时,我的收集函数被调用两次。如果我再次访问片段 B 并返回 A - 那么收集函数将被调用 3 次。等等。

android android-fragments kotlin android-livedata

28
推荐指数
1
解决办法
1万
查看次数