繁体   English   中英

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()上收到以下错误

预期的不可为空的值。 检查信息:此检查确保 LiveData 值在明确声明为不可为空时不是 null。

我正在使用生命周期版本2.3.1 问题似乎在于暂停 function users()。 如果我删除挂起修饰符,它工作正常。

只需使用private val _users:MutableLiveData<List<User>> = MutableLiveData()而不是private val _users = MutableLiveData<List<User>>()

试试this._users.value = users() 在前面添加this对我有用。 不知道为什么。 在您的情况下,您可能需要this@yourModel._users.value = users()因为您在 viewModelScope 中调用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM