问题描述
private val _users = mutablelivedata<List<User>>()
val users: LiveData<List<User>> get() = _users
fun getUsers() {
viewmodelScope.launch {
_users.value = users()
}
}
suspend fun users(): List<User> {
Todo("Not implemented")
}
我在 _users.value = users()
预期的不可为空的值。检验信息: 此检查可确保 LiveData 值在显式声明为不可为空时不为空。
我使用的是生命周期版本 2.3.1
。问题似乎出在挂起函数 users() 上。如果我删除挂起修饰符,它就可以正常工作。
解决方法
只需使用 private val _users:MutableLiveData<List<User>> = MutableLiveData()
而不是 private val _users = MutableLiveData<List<User>>()
。