Kotlin, когда несколько значений не работают, когда значение представляет собой вид android

Я реализовал функцию, которая используется в anko's рекурсивно:

fun applyTemplateViewStyles(view: View) { when(view) { is EditText, TextView -> { .... } } } 

И я получаю сообщение об ошибке «Функция invocation» TextView (…) «ожидается»

Так как я могу написать, когда с предложением вроде 0, 1, почему я не могу сделать то же самое с Android View?

Вам не хватает другого:

 fun applyTemplateViewStyles(view: View) { when(view) { is EditText, is TextView -> { println("view is either EditText or TextView") } else -> { println("view is something else") } } } 

Вы можете сделать это, вы просто не получили синтаксис правильно. Следующие действия предназначены для обработки нескольких типов в одной ветви, when :

 when(view) { is EditText, is TextView -> { .... } } 
Intereting Posts