【发布时间】:2017-08-28 13:21:39
【问题描述】:
这些是我的模型类:
public class Animal implements Parcelable{
//parcelable implementation
}
public class Cat extends Animal {
}
public class Dog extends Animal {
}
我想使用 Intent.putExtra(String name, Parcelable [] value) 将 Animal 的 Array 从 Activity 传递给另一个 Intent.putExtra(String name, Parcelable [] value)。
所以我这样做:
List<Animal> animals = new Array[3];
animals[0] = new Dog();
animals[1] = new Cat();
animals[2] = new Dog();
Intent.putExtra("myAnimals", animals ).
当我尝试从另一个 Activity 检索数组时:
Parcelable[] p = (Parcelable[])data.getParcelableArrayExtra("myAnimals");
我不要得到这样的数组:
[0]Dog
[1]Cat
[2]Dog
我得到一个这样的数组:
[0]Animal
[1]Animal
[2]Animal
我不明白如果我的逻辑不正确,或者当您将像我这样的Array 传递给Intent 时,它会变成SuperClass 对象的数组。
谢谢。
【问题讨论】:
标签: android android-intent parcelable extends