我在活动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的意图,但它们不起作用。谢谢
发布于 2022-01-16 18:57:30
听起来你需要做的就是把一个整数数组从活动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/将列表转换为数组
发布于 2022-01-16 20:22:19
以这种方式尝试,它肯定会工作,所以在活动A中,添加以下代码
intent.putExtra("tag",ArrayList(selectedImageList))在活动B中,
val my_List=intent.getStringArrayListExtra("tag") as ArrayList您将在活动B中收到值的ArrayList。
https://stackoverflow.com/questions/70730365
复制相似问题