Как рандомизировать изображение из массива, но не повторять предыдущее изображение после, которое находится в image_view? - PullRequest
0 голосов
/ 23 декабря 2019

Я хочу установить случайное изображение из массива

var randomElement = array[random.nextInt(array.size)]
                image_view.setImageResource(randomElement)

Но после этого не повторяйте его

 button.setOnClickListener {
        if (image_view.drawable.constantState != ContextCompat.getDrawable(
                            this,
                            R.drawable.myImage
                        )?.constantState{
        var randomElement = array[random.nextInt(array.size)] //but exclude R.drawable.myImage
    }
}

Как его можно исключить из массива и после этого добавить, чтобы избежатьповторение только последнего предыдущего изображения?

Отредактировано: пытается использовать sharedPreferences, но приложение вылетает при нажатии кнопки:

var array = intArrayOf(
        R.drawable.myImage,
        R.drawable.myImage2,
        R.drawable.myImage3)
    button.setOnClickListener {
        var mypref = getSharedPreferences("mypref", Context.MODE_PRIVATE)
         var imagepref = mypref.getInt("image", 0)
                        array.toMutableList().add(imagepref)
                       var image = array[random.nextInt(array.size)]

                        image_view.setImageResource(image)
                        array.drop(image)

                        var editor=mypref.edit()
                        editor.putInt("image", image)
                        editor.apply()
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...