我的一个片段中有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"
}
答案 0 :(得分:0)
您可以随时迭代创建的数组并添加侦听器。即使您的代码并不十分清楚,也可以在设置项目最初不可见的地方进行操作。
for (image in getArray()) {
image.apply {
visibility = View.INVISIBLE
setOnClickListener {
incrementScore(this)
}
}
}