【问题标题】:Kotlin - Type mismatch: inferred type is Unit but Intent was expectedKotlin - 类型不匹配:推断类型为 Unit 但预期为 Intent
【发布时间】:2020-03-27 19:29:33
【问题描述】:

我是 Kotlin 的新手,我收到一条错误消息,指出 Kotlin - Type mismatch: inferred type is Unit but Intent was expected,我不确定如何解决这个问题。

感谢任何建议。

代码片段:

  val webURL: String? = dataMap["uri"]
    val intent: Intent
    intent = if (!webURL.isNullOrEmpty()) {
        val intent = Intent(Intent.ACTION_VIEW, Uri.parse(webURL))
        intent.data = Uri.parse(webURL)
    } else {
        Intent(this, MainActivity::class.java)
    }

注意:

出现错误就行了:

intent.data = Uri.parse(deeplinkURL)

【问题讨论】:

    标签: android kotlin


    【解决方案1】:
    val webURL: String? = dataMap["uri"]
    val intent: Intent
    
    intent = if (!webURL.isNullOrEmpty()) {
        Intent(Intent.ACTION_VIEW, Uri.parse(webURL))
    } else {
        Intent(this, MainActivity::class.java)
    }
    

    如果您要从if/else 表达式为变量或属性赋值,则需要ifelse 分支来评估所需的类型。而且,您无需将Uri 提供给Intent 两次。

    【讨论】:

      【解决方案2】:

      如果条件为真,则此处不返回任何内容 只需在 else 之前添加 intent

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-01-11
        • 2020-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-23
        相关资源
        最近更新 更多