【发布时间】:2019-07-22 08:25:12
【问题描述】:
这是我正在使用的代码:
ref.get().addOnCompleteListener(task -> {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document.exists()) {
Log.d(TAG, "DocumentSnapshot data: " + document.getData());
}
}
});
这就是 Android Studio 突出显示错误的方式:
据我所知answer:
成功完成的任务永远不会通过
null换成DocumentSnapshot。
如何在不检查无效性的情况下解决此问题?谢谢!
【问题讨论】:
-
A successfully completed task永不返回,但任务未成功完成,那会变成什么?你能期待什么?? -
@TanveerMunir 我不确定我是否理解你所说的。因为我用
if (task.isSuccessful())所以任务返回成功吧? -
如果
task.getResult()可能由于没有结果而返回 null 但任务已完成,那么document可能为 null 那么您如何初始化? -
@TanveerMunir
if (task.isSuccessful())这意味着task.getResult()永远无法返回null?它只能返回一个空的快照,但 不能 `null。我错了吗? -
检测受限。如果成功,它永远不会为空,但编译器不知道这一点。它会看到一个您不检查的可为空返回
标签: android firebase android-studio google-cloud-firestore lint