首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型不匹配:推断的类型是GoogleSignInAccount?但GoogleSignInAccount是预期的>任务:应用程序:buildInfoGeneratorFdroidDebug

类型不匹配:推断的类型是GoogleSignInAccount?但GoogleSignInAccount是预期的>任务:应用程序:buildInfoGeneratorFdroidDebug
EN

Stack Overflow用户
提问于 2019-04-14 23:39:46
回答 2查看 684关注 0票数 0

我正在尝试添加谷歌登录到我的kotlin,但我得到了错误的"user_account“。它说“类型不匹配:推断的类型是GoogleSignInAccount?但GoogleSignInAccount是预期的”如何纠正这个错误?

代码语言:javascript
复制
 override 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)
            try {
                val user_account = task.getResult(ApiException::class.java)
                firebaseAuthWithGoogle(user_account)
            } catch (e: ApiException) {
                Toast.makeText(this, "Google sign in failed:(", Toast.LENGTH_LONG).show()
            }
        }
    }
EN

回答 2

Stack Overflow用户

发布于 2019-04-15 00:49:04

GoogleSignIn.getSignedInAccountFromIntent是一个Java方法,所以它可以返回可以为空的对象,但指定了非空类型。因此,您应该将类型指定为Task<GoogleSignInAccount?>,或者使用一种可能的方法将对象强制转换为非空类型。

您可以阅读有关该here的更多信息。

票数 1
EN

Stack Overflow用户

发布于 2020-06-12 11:02:30

这可能是一个迟来的答案,但希望它能在未来帮助像我这样的Kotlin初学者。

我遇到了完全相同的错误,并按照以下部分进行了修改以修复它:

代码语言:javascript
复制
            val user_account : GoogleSignInAccount? = task.getResult(ApiException::class.java)
            firebaseAuthWithGoogle(user_account!!)

有关null和"!!“的详细信息,请参阅Kotlin在线文档Null Safety。操作符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55677077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档