我有一个ViewModel,用于Fragment和DialogFragment。在对话框片段中,我尝试更新对话框片段中的MutableLiveData值,然后在我的片段中使用MutableLiveData中的值。当我在对话框片段中检查时,我在MutableLiveData中包含数据,但是当尝试访问片段中的数据时,我得到了空值。请指导我如何解决此问题?
在ViewModel中:
val width = MutableLiveData<String>()
val height = MutableLiveData<String>()
val length = MutableLiveData<String>()
在DialogFragment中:
vModel.width.value = "6"
vModel.height.value = "6"
vModel.length.value = "6"
以及我尝试从MutableLiveData访问数据的片段:
println(vModel.width.value)
println(vModel.height.value)
println(vModel.length.value)
确保使用活动上下文加载ViewModel,这样一个实例将与所有片段共享,并且不会为每个片段重新创建
类似的东西
val viewModel by activityViewModels<MainViewModel> ()