返回

android-SharedViewModel 的 MutableLiveData 在不同的活动中变为空

发布时间:2022-05-18 01:54:48 251
# java

我正在尝试在片段和活动之间共享 MutableLiveData。但是,即使 MutableLiveData 在 Fragment 中不为 null,它在 Activity 中也会显示为 null。我的实现有问题吗?

SharedViewModel:

class SharedViewModel : ViewModel() {
    val cartItemsLiveData = MutableLiveData<ArrayList>()
    var subtotal = MutableLiveData()
    var total = MutableLiveData()
}

片段:

val sharedViewModel: SharedViewModel by activityViewModels()

//code

fun setData() {
    sharedViewModel.subtotal.value = 100.0f
    //I've verified that the value gets set and is not null
}

活动:

val sharedViewModel: SharedViewModel by activityViewModels()

//code

fun setViews() {
    //the value here comes out as null
    tvSubtotal.text = sharedViewModel.subtotal.value.toString()
}

考虑到SharedViewModel是一个片段和一个活动,它的声明方式有什么问题吗?欢迎提供任何支持/建议。非常感谢。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像