我想从 viewModel 观察我的 fragment 内的数据,但 Android Studio 不断触发此警告。有人可以帮助解决这个问题吗?这个问题是否与 Android Studio Bumbleblee 的更新有关?
最佳答案
当你写
viewLifecycleOwner.lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.STARTED) {
// {code to collect from viewModel}
}
}
repeatOnLifecycle
是 LifecycleOwner
的扩展名- 在这里,您隐式使用 this
- 即 fragment 的生命周期和最重要的 不是 fragment View 生命周期。如 the documentation 中所示,您应该明确使用
viewLifecycleOwner.repeatOnLifecycle
,这正是 Lint 检查告诉您使用的内容:viewLifecycleOwner.lifecycleScope.launch {
viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
// {code to collect from viewModel}
}
}
关于Android Studio 不允许我使用 repeatOnLifecycle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71164314/