kotlin 随机图像在其他图像视图中没有重复

kotlin random images without repetition in other imageviews

在kotlin中如何解决,我即将完成一个应用程序但我无法关闭所有内容?

我不擅长的功能

事实是,对于三个图像视图,我希望图像视图中的图像不会在图像视图 2 和 3 中重复相同的图形,所以我希望列表是一个,并且三个图像之间没有重复项imageviews 这里是代码:

 private lateinit var listId: List<Int>
 
 initializeList()
 
 pickNumber ()

    }

    private fun pickNumber (){
        binding.imageView.setImageResource(listId.random())
        binding.imageView2.setImageResource(listId.random())
        binding.imageView3.setImageResource(listId.random())
        
        
         private fun initializeList() {
        listId = listOf(
            R.drawable.we ,
            R.drawable.wq,
            R.drawable.set,
            R.drawable.opt,
            R.drawable.ups,
        )

有 80 张图片

按照 gpunto 的建议,您可以先打乱列表,然后一个一个地获取元素。

private fun pickNumber (){
    val (id1, id2, id3) = list.shuffled()  
    binding.imageView.setImageResource(id1)
    binding.imageView2.setImageResource(id2)
    binding.imageView3.setImageResource(id3)
}

这里我使用list destructuring获取列表的前三个元素。

Official docs