【发布时间】:2020-04-07 18:38:13
【问题描述】:
MyFragment.kt:
viewModel.studentsTemp.observe(this, Observer {
adapter.submitList(it)
})
MyViewModel.kt
private var _studentsTemp = MutableLiveData<MutableList<Student>>()
val studentsTemp: LiveData<MutableList<Student>> get() = _studentsTemp
init {
_studentsTemp.value = mutableListOf<Student>()
}
仅在应用程序启动时调用观察者,即创建 ViewModel 时,即在 View Model 中运行 init 块时。
【问题讨论】:
-
对于所有其他案例观察员都在工作。除了这种情况。
-
在片段中你应该使用
viewLifecycleOwner而不是this -
@IR42 好的,谢谢。您能否还解释一下为什么我们在使用 ViewModels 时在 Fragments 中使用
binding.lifecycleowner = this?我是新手。
标签: android kotlin mvvm android-livedata mutablelivedata