【发布时间】:2018-11-13 22:08:21
【问题描述】:
最近对 GMS 任务库进行了 @Nullable 更改。反编译的.class的前几行看起来像
public abstract class Task<TResult> {
public Task() {
}
public abstract boolean isComplete();
public abstract boolean isSuccessful();
public abstract boolean isCanceled();
@Nullable
public abstract TResult getResult();
我之前编译的 Kotlin 代码:
if (task.isSuccessful) {
task.result.user?.getIdToken(false)?.addOnCompleteListener { taskk ->
this.emailIdTokenCompleteListener()(taskk)
}
更新一些 gms play-services-zzz 依赖后,代码现在出现编译错误:
LoginActivity.kt: (148, 28): 在 AuthResult 类型的可空接收器上只允许安全 (?.) 或非空断言 (!!.) 调用?
问题是,isSuccessful() == true 是否暗示getResult != null?还是将 if 测试更改为 if (task.result != null) 会更好?
【问题讨论】:
标签: android kotlin google-play-services