我有一个抽象类 AbstractCard,我想将其用作列表数据以传递给我的 BaseAdapter
。我不想通过 List<AbstractCard>
尽管到BaseAdapter
而是传递 List<Object>
扩展了 AbstractCard。
例如,我有一个扩展 AbstractCard 的 Card 类。在我的 BaseAdapter 中,我有:
private List<AbstractCard> abstractCards = new ArrayList<AbstractCard>();
public void setData(List<AbstractCard> abstractCards) {
this.abstractCards = abstractCards;
}
现在,由于 Card 扩展了 AbstractCard,我认为我可以传递 List<Card>
setData() 但它显然给了我错误。我怎样才能做到这样我需要一个基于其父类的类型?
最佳答案
您是否尝试过:
private List<? extends AbstractCard> abstractCards = new ArrayList<AbstractCard>();
public void setData(List<? extends AbstractCard> abstractCards) {
this.abstractCards = abstractCards;
}
然后:
someClass.setData(new ArrayList<ConcreteCard>());
关于java - Android - 将多个列表 <AbstractType> 传递给 BaseAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23823098/