Android (Kotlin) Тост с использованием оператора Элвиса для использования значения String по умолчанию, когда значение из intent / arguments равно Null - PullRequest
0 голосов
/ 29 мая 2020

У меня есть такая реализация

Toast.makeText(activity,arguments?.get("message") as String, Toast.LENGTH_SHORT).show()

Итак, я хочу использовать здесь Оператор Элвиса (?:) , чтобы использовать некоторые default String, когда значение, отображаемое внутри тоста, равно Null. Я не смог правильно это реализовать. Итак, как мне реализовать это в той же строке кода ??. Кроме того, что будет лучше? Спасибо.

Ответы [ 3 ]

2 голосов
/ 29 мая 2020

Это можно сделать так:

Toast.makeText(activity, arguments?.get("message") ?: "default message", Toast.LENGTH_SHORT).show()
2 голосов
/ 29 мая 2020

Просто поместите оператор elvis после обнуляемого вызова get:

Toast.makeText(activity, arguments?.get("message") ?: "Default value", Toast.LENGTH_SHORT).show()

Вот некоторые наблюдения:

  • null ?: "default" оценивается как default
  • "valid str" ?: "default" оценивается как valid str
0 голосов
/ 29 мая 2020

Вероятно, что-то вроде этого

Toast.makeText(activity,arguments!!.get("message") ?: "default", Toast.LENGTH_SHORT).show()

Когда используется ?, он просто игнорирует нуль, но на !! нужно обрабатывать откат.

...