我正在使用LiveData的版本“ androidx.lifecycle:lifecycle-livedata-ktx:2.2.0-alpha05”。一旦LiveData块成功执行,我想明确触发它再次执行,例如
我有一个片段,可以观察我的LiveData,一个带有LiveData和存储库的ViewModel:
ViewModel:
fun getUserLiveData() = liveData(Dispatchers.IO) { val userData = usersRepo.getUser(userId) emit(userData) }
片段:
viewModel.getUserLiveData(viewLifecycleOwner, androidx.lifecycle.Observer {..
然后我正在尝试实现所需的行为,例如:
viewModel.deleteUser() viewModel.getUserLiveData()
根据LiveData块下面的文档,如果它已成功完成并且如果在LiveData块中放入while(true),则数据将刷新,但是我不希望这样做因为我需要及时更新视图。
如果[块]成功完成或由于[LiveData]以外的原因而被取消变为非活动状态,即使[LiveData]处于活动状态,它仍将重新执行[[不会]]无效周期。
也许我缺少一些东西,我该如何重用相同的LiveDataScope来实现这一目标?任何帮助,将不胜感激。
我正在使用LiveData的版本“ androidx.lifecycle:lifecycle-livedata-ktx:2.2.0-alpha05”。一旦LiveData块成功执行,我想明确触发它再次执行,例如我浏览...