何时使用MutableLiveDataLiveData表示使用方法的领域:

MutableLiveData<User> getUser() {
    if (userMutableLiveData == null) {
        userMutableLiveData = new MutableLiveData<>();
    }
    return userMutableLiveData;
}

以及何时使用
LiveData<User> getUser() {
    if (userMutableLiveData == null) {
        userMutableLiveData = new MutableLiveData<>();
    }
    return userMutableLiveData
}

最佳答案

LiveData没有公共(public)方法来修改其数据。

LiveData<User> getUser() {
    if (userMutableLiveData == null) {
        userMutableLiveData = new MutableLiveData<>();
    }
    return userMutableLiveData
}

您无法更新其值,例如getUser().setValue(userObject)getUser().postValue(userObject)
因此,当您不希望修改数据时,请使用LiveData如果以后要修改数据,请使用MutableLiveData

10-08 17:13