проблемы в доступе в kotlin при использовании оператора when - PullRequest
0 голосов
/ 26 марта 2020

Эй, это довольно простой вопрос.

Это код:

    when(img.id) {
         is R.drawable.blank1 -> img.setImageResource(R.drawable.chip10)
        R.drawable.chip10 -> img.setImageResource(R.drawable.chip20)
        R.drawable.chip20 -> img.setImageResource(R.drawable.chip50)
        R.drawable.chip50 -> img.setImageResource(R.drawable.chip100)
        R.drawable.chip100 -> img.setImageResource(R.drawable.blank1)

        else ->
            throw IllegalArgumentException("Undefined button clicked")
    }

Как видно на рисунке, все утверждения, кроме первого, в порядке, в первом утверждении, когда "is" появляется у меня неразрешенная ссылка на R.drawable.blank1 почему это так? это ошибка IDE? enter image description here

РЕДАКТИРОВАТЬ Я спрашиваю относительно самой ошибки, если это было несоответствие типов Я бы понял, но почему "is" мешает разрешить ссылку?

1 Ответ

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

Насколько я вижу, просто удалите is в первой строке после when оператора.

Так что замените ваш код на (удалить is )

when(img.id) {
        R.drawable.blank1 -> img.setImageResource(R.drawable.chip10)
        R.drawable.chip10 -> img.setImageResource(R.drawable.chip20)
        R.drawable.chip20 -> img.setImageResource(R.drawable.chip50)
        R.drawable.chip50 -> img.setImageResource(R.drawable.chip100)
        R.drawable.chip100 -> img.setImageResource(R.drawable.blank1)

        else ->
            throw IllegalArgumentException("Undefined button clicked")
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...