当使用Kotlin设置谷歌认证时,出现以下错误:“类型推断失败。预期的类型不匹配:推断的类型是GoogleSignInAccount?但应该是GoogleSignInAccount”。错误来自行"val account: GoogleSignInAccount = completedTask.getResult(ApiException::class.java)“”这段代码几乎全部来自https://developers.google.com/identity/sign-in/android/sign-in
我已经检查了这里发布的一个问题,它有完全相同的问题,但这个问题的答案不能解决我的问题(也不能解决她的Type mismatch: inferred type is GoogleSignInAccount? but GoogleSignInAccount was expected > Task :app:buildInfoGeneratorFdroidDebug)。
覆盖fun onActivityResult(requestCode: Int,resultCode: Int,data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == RC_SIGN_IN) {
val task: Task<GoogleSignInAccount> = GoogleSignIn.getSignedInAccountFromIntent(data)
handleResult (task)
}else {
Toast.makeText(this, "Problem in execution order :(", Toast.LENGTH_LONG).show()
}
}
private fun handleResult (completedTask: Task<GoogleSignInAccount>) {
try {
val account: GoogleSignInAccount = completedTask.getResult(ApiException::class.java) #error in this line
updateUI (account)
} catch (e: ApiException) {
Toast.makeText(this, e.toString(), Toast.LENGTH_LONG).show()
}
}如果有人对这个错误的原因有什么建议,那就太好了。
发布于 2020-06-12 11:00:11
这可能是一个迟来的答案,但希望它能在未来帮助像我这样的Kotlin初学者。
我遇到了完全相同的错误,并按照以下部分进行了修改以修复它:
val account: GoogleSignInAccount? = completedTask.getResult(ApiException::class.java)
updateUI (account!!)有关null和"!!“的详细信息,请参阅Kotlin在线文档Null Safety。操作符。
https://stackoverflow.com/questions/57486576
复制相似问题