Android 是否可以在适配器内添加2个对象?
可以像这样在适配器中添加2个对象类吗Android 是否可以在适配器内添加2个对象?,android,object,adapter,Android,Object,Adapter,可以像这样在适配器中添加2个对象类吗 public Adapter(Context context, List<ObjectItem> objectItem, List<ObjectItem2> objectItem2) { } 所以,我想向适配器添加对象项和项2。那么我该怎么做才能清除它呢? 提前感谢创建界面 public interface DispayItem { } 现在创建类来实现DispayItem接口 public class Class1 impl
public Adapter(Context context, List<ObjectItem> objectItem, List<ObjectItem2> objectItem2) {
}
所以,我想向适配器添加对象项和项2。那么我该怎么做才能清除它呢?
提前感谢创建界面
public interface DispayItem {
}
现在创建类来实现DispayItem接口
public class Class1 implements DispayItem {
private int id;
private String label;
private Class1 () {
}
public static Class1 create( int id, String label ) {
Class1 section = new Class1 ();
section.setLabel(label);
return section;
}
}
类别2
public class Class2 implements DispayItem {
private int id;
private String label;
private Class2 () {
}
public static Class2 create( int id, String label ) {
Class2 section = new Class2 ();
section.setLabel(label);
return section;
}
}
要添加项目,可以将其用作
DisplayItem[] displayItem= new DisplayItem[] {
Class1.create( 100, "Class1"),
Class2.create(101,"Class2"),
};
在适配器中
public MyAdapter(Context context, int textViewResourceId, DisplayItem[] objects ) {
super(context, textViewResourceId, objects);
this.inflater = LayoutInflater.from(context);
}
使用getView int适配器
@Override
public View getView(int position, View convertView, ViewGroup parent) {
DisplayItem DisplayItem=this.getItemposition
if(displayItem instanceof Class1){
//do work for class 1
view = getItemView(convertView, parent, menuItem );
}
else if(displayItem instanceof Class2){
//do work for class 2
view = getItemView(convertView, parent, menuItem );}
}
return view;}
您正在使用自定义适配器吗?还添加一些代码,以表明您做了一些事情\。使它们从同一基类继承并仅使用一个数据集。请添加更多代码,以便我们可以帮助您创建一个空接口,并使其他类实现它。现在为空接口创建一个对象数组,并将空接口实现的任何类对象传入该数组。我已经编辑了我的代码,请检查一下,Thanksthank。。它起作用了!:Dyou可以在此基础上膨胀不同的视图。如果你需要的话,请告诉我。
public MyAdapter(Context context, int textViewResourceId, DisplayItem[] objects ) {
super(context, textViewResourceId, objects);
this.inflater = LayoutInflater.from(context);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(displayItem instanceof Class1){
//do work for class 1
view = getItemView(convertView, parent, menuItem );
}
else if(displayItem instanceof Class2){
//do work for class 2
view = getItemView(convertView, parent, menuItem );}
}
return view;}