gpt4 book ai didi

android - 如何避免从 image_view 中的数组中随机化图像?

转载 作者:行者123 更新时间:2023-11-29 22:36:16 25 4
gpt4 key购买 nike

如果我这样做,它有时会设置与 image_view 中相同的图像。例如,如果 R.drawable.cat__5_image_view 中,我想从 R.drawable.cat__3_,R.drawable.cat__4_,R.drawable 中选择。 cat__6_,R.drawable.cat__7_,R.drawable.cat__8_. 怎么做到的?

lateinit var random: Random
random = Random()
var cats = intArrayOf(
R.drawable.cat__3_,
R.drawable.cat__4_,
R.drawable.cat__5_,
R.drawable.cat__6_,
R.drawable.cat__7_,
R.drawable.cat__8_)

button.setOnClickListener{

image_view.setImageResource(cats[random.nextInt(cats.size)])
}

最佳答案

private var previousIndex = 0  // member variable to track the previous index
private val random by lazy { Random() }
private val cats = intArrayOf(
R.drawable.cat__3_,
R.drawable.cat__4_,
R.drawable.cat__5_,
R.drawable.cat__6_,
R.drawable.cat__7_,
R.drawable.cat__8_)

button.setOnClickListener{
image_view.setImageResource(cats[getNewRandomIndex()])
}


private fun getNewRandomIndex(): Int {
var newIndex = -1
while(true) {
newIndex = random.nextInt(cats.size)
if(previousIndex != newIndex) {
previousIndex = newIndex
break
}
}
return newIndex
}

上面的函数 getNewRandomIndex() 返回的索引总是与最近的索引不同。所以你每次都会得到不同的图像

关于android - 如何避免从 image_view 中的数组中随机化图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59487737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com