Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 是否可以在适配器内添加2个对象?_Android_Object_Adapter - Fatal编程技术网

Android 是否可以在适配器内添加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

可以像这样在适配器中添加2个对象类吗

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;}