android - MutableLiveData NullPointerException 警告
问题描述
在 MVVM 结构中,在使用 MutableLiveData 时,即使我输入了一个初始值,我也会收到 Unboxing of ' loream.getValue()
' 可能会产生 'NullPointerException' 的警告。什么是正确的使用方法getValue()
。
解决方案
如果查看的源代码,LiveData#getValue()
可以看到它可以返回 null:
@SuppressWarnings("unchecked")
@Nullable
public T getValue() {
Object data = mData;
if (data != NOT_SET) {
return (T) data;
}
return null;
}
所以你总是要考虑这个事实。您没有指定您使用的是 Kotlin 还是 Java(或者您是如何getValue()
使用的),所以很难说。
通常,LiveData 流的值经常被观察到,因此如果您不“发布(或设置)”一个值,您就不可能得到一个空值。
如果您正在寻找具体建议,请发布更具体的示例。
如果您需要样品,谷歌这里有一个。
推荐阅读
- css - CSS:在单击时从按钮中心为不同颜色的圆圈设置动画
- javascript - “错误:未找到 FFMPEG”但应安装 FFMPEG - Discord Bot
- javascript - 重定向后我打开的弹出窗口被关闭
- python - Python 到 R 等效项:[i for i, e in enumerate(y) if e != 0]
- spring - 如何按 LocalDate 对通量元素进行分组?
- php - 问题创建将数据提交到数据库并发送电子邮件的组合 PHP 脚本
- c++ - 将矩阵中具有可变维度的所有元素初始化为零
- node.js - 如何阻止类/函数继续在 Node.js 中执行代码
- python - 线性回归的斜率
- sorting - 如何在一个矩阵中组合 6 个表格,显示前 12 个并将其余的分类为其他?