Как реализовать onClickListener на imageList - PullRequest
0 голосов
/ 02 декабря 2018

У меня есть ArrayList<ImageView> во фрагменте.Этот список содержит некоторые изображения, которые анимируются в течение определенного периода времени.Я хочу увеличивать свой счет каждый раз, когда пользователь нажимает на изображение.Как мне этого добиться?

ImageArray

private fun getArray() = arrayListOf(kennyPos0,kennyPos1,kennyPos2,kennyPos3,kennyPos4,
            kennyPos5,kennyPos6,kennyPos7,kennyPos8)

Эта функция оживляет его.

    private fun manipulateImage() {

        runnable = Runnable {
            for (image in getArray()) {
                image.visibility = View.INVISIBLE
            }
            val randomNum = Random()
            val index = randomNum.nextInt(8-0)
            getArray()[index].visibility = View.VISIBLE
            handler.postDelayed(runnable,500)
        }
        handler.post(runnable)
    }

Как мне написать onClickListener?

    private fun incrementScore(v:View) {
            score++
            v.scoreText.text = "Score :$score"
        }

1 Ответ

0 голосов
/ 03 декабря 2018

Вы можете перебирать созданный вами массив и добавлять слушателей в любое время.Даже если ваш код не совсем понятен, вы можете сделать это там, где вы сначала задаете элементы, которые невидимы.

for (image in getArray()) {
    image.apply {
        visibility = View.INVISIBLE
        setOnClickListener { 
            incrementScore(this)
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...