何时使用MuableLiveData和LiveData

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

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

以及何时使用此功能

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

解决方案

LiveData没有修改其数据的公共方法。

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

您不能像getUser().setValue(userObject)getUser().postValue(userObject)那样更新其值

因此,当您不想修改数据时,请使用 如果您想在以后修改数据,请使用MutableLiveData

相关文章