【发布时间】:2021-03-14 16:39:18
【问题描述】:
我在我的应用程序中使用StateFlow,在我的Fragment 中使用它来-
private var job: Job? = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
job = lifecycleScope.launchWhenResumed {
viewModel.getData().collect {
// ...
}
}
}
override fun onPause() {
job?.cancel()
super.onPause()
}
如您所见,我取消了onPause 中的工作。我怎样才能使用通用函数,这样我就可以避免在每个片段中都使用job?.cancel。
我不喜欢使用BaseFragment
【问题讨论】:
-
你可以在 onPause 中使用 job?.cancel() 创建抽象类并扩展它
-
@AlexRmcf 你能给我一个例子吗
-
不使用基础片段有什么特别的原因吗?
-
随着应用程序的发展,随着时间的推移,基类无论如何都会被滥用
-
你打算在fragment恢复后再次收集流量吗?在第一次暂停之前,我看不到仅用于收集的用例
标签: android kotlin kotlin-coroutines