如何通过 kotlin 中的意图传递对象的 MutableList
How to pass MutableList of object via intent in kotlin
我的数据class为
@Parcelize
data class Workouts(val id:Int ,val name:String,val image:Int,val time:Long):Parcelable
并且在一个 activity 中我已经初始化了可变列表并且还向 MutuableList 添加了一些数据
val listRandom= mutableListOf<Workouts>()
listRandom.add(some datas............)
现在我已经使用 Intent 将 listRandom 传递给下一个 activity
val intent =Intent(this,StartWorkout::class.java)
intent.putExtra("workoutlist",listRandom as Parcelable)
接下来 activity 我正在尝试接收数据
val randomWorkout =intent.getParcelableExtra<MutableList<Workouts>>("workoutlist")
所以错误是在从意图接收数据时出现的,它说 Expected Parcelable but found MutuableList
所以我想做的只是传递对象列表,所以有没有其他方法可以做到这一点?
只需将您的 mutableListOf<Workouts>()
转换为 ArrayList,如下所示:
val listRandom= ArrayList<User>()
val intent = Intent(this, StartWorkout::class.java)
intent.putExtra("workoutlist",listRandom)
下一个Activity:
val randomWorkout : ArrayList<User> = intent.getParcelableExtra("workoutlist")
它会起作用。
将putParcelableArrayListExtra
与ArrayList
结合使用
val listRandom= ArrayList<Workouts>()
val intent = Intent(this, StartWorkout::class.java)
intent.putParcelableArrayListExtra("workoutlist",listRandom)
并通过
获取
val list=intent?.getParcelableArrayListExtra<Workouts>("workoutlist")
我的数据class为
@Parcelize
data class Workouts(val id:Int ,val name:String,val image:Int,val time:Long):Parcelable
并且在一个 activity 中我已经初始化了可变列表并且还向 MutuableList 添加了一些数据
val listRandom= mutableListOf<Workouts>()
listRandom.add(some datas............)
现在我已经使用 Intent 将 listRandom 传递给下一个 activity
val intent =Intent(this,StartWorkout::class.java)
intent.putExtra("workoutlist",listRandom as Parcelable)
接下来 activity 我正在尝试接收数据
val randomWorkout =intent.getParcelableExtra<MutableList<Workouts>>("workoutlist")
所以错误是在从意图接收数据时出现的,它说 Expected Parcelable but found MutuableList
所以我想做的只是传递对象列表,所以有没有其他方法可以做到这一点?
只需将您的 mutableListOf<Workouts>()
转换为 ArrayList,如下所示:
val listRandom= ArrayList<User>()
val intent = Intent(this, StartWorkout::class.java)
intent.putExtra("workoutlist",listRandom)
下一个Activity:
val randomWorkout : ArrayList<User> = intent.getParcelableExtra("workoutlist")
它会起作用。
将putParcelableArrayListExtra
与ArrayList
val listRandom= ArrayList<Workouts>()
val intent = Intent(this, StartWorkout::class.java)
intent.putParcelableArrayListExtra("workoutlist",listRandom)
并通过
获取val list=intent?.getParcelableArrayListExtra<Workouts>("workoutlist")