发送可变列表(<Int>)(包括 2 个参数)到另一个活动



我在活动A:中有这段代码

private fun randomImage() {
val number: Int = (1..4).random()
if (!selectedImageList.contains(number)) selectedImageList.add(number)
if (selectedImageList.size == 2) return
else randomImage()
}

并在活动B:中包含此代码

private fun setImages(binding: ActivityP1Binding) {
selectedImageList.forEachIndexed { index, number ->
when (number) {
1 -> {
if (index == 0) binding.a1.setImageResource(R.drawable.Omo1)
if (index == 1) binding.b1.setImageResource(R.drawable.Omo1)
}
2 -> {
if (index == 0) binding.a1.setImageResource(R.drawable.Omo2)
if (index == 1) binding.b1.setImageResource(R.drawable.Omo2)
}
3 -> {
if (index == 0) binding.a1.setImageResource(R.drawable.Omo3)
if (index == 1) binding.b1.setImageResource(R.drawable.Omo3)
}
4 -> {
if (index == 0) binding.a1.setImageResource(R.drawable.Omo4)
if (index == 1) binding.b1.setImageResource(R.drawable.Omo4)
}

因此,它需要代码来发送活动A中的selectedImageList(包括索引和编号(。以及要在活动B中接收的代码。我通过putParcelableArrayListExtra使用了一些代码,但它们不起作用。感谢

听起来你所需要做的就是将一个整数数组从活动A发送到活动B。这可以通过putExtra来完成(https://developer.android.com/reference/kotlin/android/content/Intent#putextra_17)和getIntArrayExtra(https://developer.android.com/reference/kotlin/android/content/Intent#getintarrayextra)

请参阅https://www.techiedelight.com/convert-list-to-array-kotlin/用于将列表转换为阵列

用这种方法试试肯定会奏效因此,在活动A中,将此代码添加到意图部分中

intent.putExtra("tag",ArrayList(selectedImageList))

在活动B中,

val my_List=intent.getStringArrayListExtra("tag") as ArrayList

您将在活动B 中收到您的价值的ArrayList

最新更新