MutableLiveData 的预期不可空值
Expected non-nullable value for MutableLiveData
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()
上收到以下错误
Expected non-nullable value. Inspection info:
This check ensures that LiveData values are not null when explicitly declared as non-nullable.
我正在使用生命周期版本 2.3.1
。问题似乎出在挂起函数 users() 上。如果我删除 suspend 修改器它工作正常。
只需使用 private val _users:MutableLiveData<List<User>> = MutableLiveData()
而不是 private val _users = MutableLiveData<List<User>>()
。
尝试this._users.value = users()
。在前面添加 this
对我有用。不知道为什么。在您的情况下,您可能需要 this@yourModel._users.value = users()
因为您在 viewModelScope 中调用它。
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()
Expected non-nullable value. Inspection info: This check ensures that LiveData values are not null when explicitly declared as non-nullable.
我正在使用生命周期版本 2.3.1
。问题似乎出在挂起函数 users() 上。如果我删除 suspend 修改器它工作正常。
只需使用 private val _users:MutableLiveData<List<User>> = MutableLiveData()
而不是 private val _users = MutableLiveData<List<User>>()
。
尝试this._users.value = users()
。在前面添加 this
对我有用。不知道为什么。在您的情况下,您可能需要 this@yourModel._users.value = users()
因为您在 viewModelScope 中调用它。