【问题标题】:Type mismatch: inferred type is String? but String was expected on kotlin and firebase类型不匹配:推断类型是字符串?但是在 kotlin 和 firebase 上应该使用 String
【发布时间】:2020-08-26 02:24:36
【问题描述】:

我有一个小问题,我在第 3 行收到这条消息:

类型不匹配:推断类型是字符串?但字符串是预期的

 if(task.isComplete){
    val user:FirebaseUser?=auth.currentUser
    verifyEmail(user)

    val userBD=dbReference.child(user?.uid)

    userBD.child("Name").setValue(name)
    userBD.child("lastName").setValue(lastname)
}

【问题讨论】:

    标签: firebase kotlin firebase-realtime-database


    【解决方案1】:

    如果您确定 user 有一个值,您可以使用以下命令对其进行硬转换:

    val userBD=dbReference.child((user as User).uid)
    

    user as UserUser? 转换为User,然后您可以调用uid。但是如果usernull,上面会崩溃。


    如果您不确定,最好进行检查:

    if (user is User) {
      val userBD=dbReference.child(user.uid)
    
      userBD.child("Name").setValue(name)
      userBD.child("lastName").setValue(lastname)
    }
    

    if (user is User) { 检查将User? 转换为User,然后您可以调用uid

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      • 2019-03-26
      • 1970-01-01
      • 2021-11-04
      • 2018-04-23
      • 2022-11-14
      相关资源
      最近更新 更多