可变实时数据不应用更改


private var number = MutableLiveData(0)
fun addOne(){
number.value?.let { it + 1 }
}

我想一直使用我的函数将我的mutableLiveData增加1。但它仍然显示0。那里可能出了什么问题?

您不会更改实时数据值。。。你只是得到了价值:你应该

number.value = number.value!! + 1

有两种方法可以更新mutableLiveData的值
如果您想从后台线程更新,第一种方法是通过postValue

fun addOne(){
number.postValue(number.value!! + 1)
}

第二个是通过setValue,如果你想从主线程更新

fun addOne(){
number.value = number.value!! + 1
}

最新更新