对于以下代码,将返回来自标题的错误,这没有任何意义
private val _error = MutableLiveData<String?>()
val error: LiveData<String?> get() = _error
_error.postValue(null) //Error Cannot set non-nullable LiveData value to null [NullSafeMutableLiveData]
_error
的参数String
明显可以为空,我做错了什么吗?
6条答案
按热度按时间eblbsuwk1#
这似乎与针对2.3.0 https://issuetracker.google.com/issues/169249668的
androidx.lifecycle
预发行版已报告的错误有关。我找到的解决方法:
1.关闭或降低
NullSafeMutableLiveData
的严重性build.gradle
或根目录中的
lint.xml
1.通过backing properties dance为
MutableLiveData
封装做工作(这真的很伤我的眼睛)。cpjpxq1n2#
此问题已在2.3.1版中得到修复。
https://developer.android.com/jetpack/androidx/releases/lifecycle#version_231_2
aelbi1ox3#
似乎在生命周期2.4.0-快照中得到了修复。请等待正式发布。
tez616oj4#
这个问题也出现在
2.3.0
中,但升级到2.4.0
后就不会出现了。gcmastyq5#
在函数中添加NullSafeMutableLiveData,
83qze16e6#
我想这个问题已经在
version 2.4.1
中修复了这是我的工作解决方案