Java Android-通过多个列表<;抽象类型>;到基本适配器
我有一个抽象类AbstractCard,我想用它作为列表数据传递给我的Java Android-通过多个列表<;抽象类型>;到基本适配器,java,android,baseadapter,Java,Android,Baseadapter,我有一个抽象类AbstractCard,我想用它作为列表数据传递给我的BaseAdapter。我不想将列表传递给BaseAdapter,而是传递扩展抽象卡的列表 例如,我有一个扩展了AbstractCard的类卡片。在我的BaseAdapter中,我有: private List<AbstractCard> abstractCards = new ArrayList<AbstractCard>(); public void setData(List<Abstrac
BaseAdapter
。我不想将列表
传递给BaseAdapter
,而是传递扩展抽象卡的列表
例如,我有一个扩展了AbstractCard的类卡片。在我的BaseAdapter中,我有:
private List<AbstractCard> abstractCards = new ArrayList<AbstractCard>();
public void setData(List<AbstractCard> abstractCards) {
this.abstractCards = abstractCards;
}
private List abstractCards=new ArrayList();
公共无效设置数据(列出抽象卡){
this.abstractCards=abstractCards;
}
现在,由于Card扩展了AbstractCard,我认为我可以将
列表传递给setData(),但它显然会给我错误。如何使其成为基于父类的类型?您不能实例化列表,因为它是一个接口(请参阅。您必须使用实现列表的具体类。例如,使用ArrayList
:
ArrayList<Card> list = new ArrayList<Card>();
ArrayList list=new ArrayList();
您不能实例化列表,因为它是一个接口(请参阅)。您必须使用实现列表的具体类。例如,使用数组列表
:
ArrayList<Card> list = new ArrayList<Card>();
ArrayList list=new ArrayList();
您不能实例化列表,因为它是一个接口(请参阅)。您必须使用实现列表的具体类。例如,使用数组列表
:
ArrayList<Card> list = new ArrayList<Card>();
ArrayList list=new ArrayList();
您不能实例化列表,因为它是一个接口(请参阅)。您必须使用实现列表的具体类。例如,使用数组列表
:
ArrayList<Card> list = new ArrayList<Card>();
ArrayList list=new ArrayList();
您是否尝试过:
private List<? extends AbstractCard> abstractCards = new ArrayList<AbstractCard>();
public void setData(List<? extends AbstractCard> abstractCards) {
this.abstractCards = abstractCards;
}
private List您是否尝试过:
private List<? extends AbstractCard> abstractCards = new ArrayList<AbstractCard>();
public void setData(List<? extends AbstractCard> abstractCards) {
this.abstractCards = abstractCards;
}
private List您是否尝试过:
private List<? extends AbstractCard> abstractCards = new ArrayList<AbstractCard>();
public void setData(List<? extends AbstractCard> abstractCards) {
this.abstractCards = abstractCards;
}
private List您是否尝试过:
private List<? extends AbstractCard> abstractCards = new ArrayList<AbstractCard>();
public void setData(List<? extends AbstractCard> abstractCards) {
this.abstractCards = abstractCards;
}
private List您的错误是什么,请发布您的logcat值!!没有logcat值,它无法编译。如果我尝试将列表传递给setData()eclipse说我的参数不适用于该方法。这是因为类型已更改,u正在传递子类而不是父抽象类!!在java中,您可以从父类引用引用子类对象,但相反的不适用于此。您的错误是什么,请发布您的logcat值!!没有logcat值,它不会omfile。如果我尝试将列表传递给setData()eclipse说我的参数不适用于该方法。这是因为类型已更改,u正在传递子类而不是父抽象类!!在java中,您可以从父类引用引用子类对象,但相反的不适用于此。您的错误是什么,请发布您的logcat值!!没有logcat值,它不会omfile。如果我尝试将列表传递给setData()eclipse说我的参数不适用于该方法。这是因为类型已更改,u正在传递子类而不是父抽象类!!在java中,您可以从父类引用引用子类对象,但相反的不适用于此。您的错误是什么,请发布您的logcat值!!没有logcat值,它不会omfile.如果我试图将一个列表传递给setData(),eclipse会说我的参数不适用于该方法。这是因为类型已更改,u传递的是子类而不是父抽象类!!在java中,您可以从父类引用引用子类对象,但反面不适用于此,我认为他正在这样做:-“private List abstractCards=new ArrayList();”这非常适用!!好吧,我认为他正在这样做:-“private List abstractCards=new ArrayList();”这非常适用!!好吧,我认为他正在这样做:-“private List abstractCards=new ArrayList();“这非常适用!!好吧,我想他正在这么做:-“private List abstractCards=new ArrayList();”这非常适用!!