(Android Studio, Kotlin) Изображение в окне просмотра изображений не отображается при нажатии - PullRequest
0 голосов
/ 20 марта 2020

Привет всем, у меня есть проблема с отображением изображения в ImageView при нажатии, я сделал функцию для отображения всякий раз, когда изображение щелкнуло, я уже добавил android: onClick = "drop" in . xml при каждом просмотре изображений в моем образце игры я использовал gridlayout (3x3) с 9 просмотрами изображений

enter image description here

здесь код функции.

    fun drops(view: View){

    val imageView = ImageView(this)

    var player = 0;
    if (player == 0){
        imageView.setImageResource(R.drawable.yellow)
        imageView.animate().alpha(1f).rotation(360f).setDuration(600)
        player == 1
    }else {
        imageView.setImageResource(R.drawable.red)
        imageView.animate().alpha(1f).rotation(360f).setDuration(600)
        player == 0
    }

}

1 Ответ

1 голос
/ 20 марта 2020

Я не уверен, в каком классе содержится эта функция, я полагаю, это либо в Fragment, либо Activity. Как вы сказали, вы связываете изображения с помощью метода drops в макете xml.

В чем может быть проблема с этой строкой:

val imageView = ImageView(this)

Из вашего вопроса мы не можем видеть, в каком классе определен этот метод, поэтому выражение this может быть чем угодно. Вы можете создать экземпляр ImageView из всего объекта Activity или Fragment и не сможете работать так, как вам бы хотелось. Поэтому я предлагаю переписать эту строку примерно так:

val imageView = view as ImageView

Функция drops получает один параметр View, представляющий собой изображение, на которое щелкнул пользователь, но класс View не имеет метод с именем setImageResource, поэтому вам нужно привести его к нужному подтипу (ImageView - это подкласс View). Это должно сделать работу.

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