Kotlin - Несоответствие типов: предполагаемый тип - Единица, но ожидалось - PullRequest
0 голосов
/ 27 марта 2020

Я очень новичок в 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)

Ответы [ 2 ]

2 голосов
/ 27 марта 2020
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, вам потребуется как ветки if, так и else, чтобы получить требуемый тип. И вам не нужно указывать Uri для Intent дважды.

0 голосов
/ 27 марта 2020

если условие истинно, вы ничего не возвращаете, просто добавьте строку intent прямо перед остальным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...