Как я могу сравнить 2 изображения в ImageView, чтобы выполнить какое-то действие, если на экране изображен крот
У моём приложение есть 9 ImageView 
Я сделал чтобы через несколько секунд на экране появлялся крот
мне нужно чтобы при нажатии на крота в счетчик шло значение +1.
есть 2 функции setBlackHole устанавливает все изображения черные, а setMoleImage рандомно показывает крота и при нажатии на него добавляет +1
fun setBlackHole() {
var listImage = mutableListOf(im1, im2, im3, im4, im5, im6, im7, im8, im9)
if (isAdded() && activity != null) {
for (i in listImage.indices) {
var blackhole = listImage[i]
blackhole.setImageResource(R.drawable.ic_hole1)
}
}
}
fun setMoleImage() {
var listImage = mutableListOf(im1, im2, im3, im4, im5, im6, im7, im8, im9)
val random = Random
var setImageMoleRandom = listImage[random.nextInt(listImage.size)]
if (isAdded() && activity != null) {
setImageMoleRandom.setImageResource(R.drawable.ic_mole)
for (i in listImage.indices){
var setImage = listImage[i]
setImage.setOnClickListener {
if (setImage.drawable.constantState == APP_ACTIVITY.resources.getDrawable(R.drawable.ic_mole).constantState){
txt_scrore_subtitle.text = score.toString()
score = score + 1
saveScore()
Log.d(LOG_TAG, "GO GO POWER RANGERS")
}
}
}
}
}
Ответы (1 шт):
Автор решения: HackModLife
→ Ссылка
Можно задать сетку состояния поля в виде двумерного массива из Boolean переменных, и одновременно изменяя состояния поля - перерисовывать нужные ImageView.
Вот пример проекта где решается этот кейс похожим образом
Возможно не самое изящное решение, но очень наглядное