Android 将两个不同的ArrayList追加到一个adpter中
Android 将两个不同的ArrayList追加到一个adpter中,android,Android,listview要将两个不同的arraylist合并到一个适配器中。 我尝试使用getView()方法的位置值,但它没有向listview显示正确的数据。首先,它显示一个arrayList中的数据,完成后,第二个arrayList应该开始显示 ArrayList<A> list1 = new ArrayList<A>; ArrayList<B> list2 = new ArrayList<B>; ArrayList list1=新的ArrayL
listview
要将两个不同的arraylist
合并到一个适配器中。
我尝试使用getView()
方法的位置值,但它没有向listview
显示正确的数据。首先,它显示一个arrayList
中的数据,完成后,第二个arrayList
应该开始显示
ArrayList<A> list1 = new ArrayList<A>;
ArrayList<B> list2 = new ArrayList<B>;
ArrayList list1=新的ArrayList;
ArrayList list2=新的ArrayList;
我想将这两个列表添加到一个适配器中。首先,我需要在list1完成后添加list1。list2中的数据已显示。我尝试使用getView()
方法的位置变量,但它无法向我显示正确的数据
如何实现这一点?您不能将这两个元素合并到一个ArrayList中吗
List<String> newList = new ArrayList<String>(listOne);
newList.addAll(listTwo);
List newList=newarraylist(listOne);
addAll(列表二);
请参阅本主题:这可以通过将两个列表添加到一个列表中并将此公用列表设置为适配器来实现
ArrayList<A> list1 = new ArrayList<A>();
ArrayList<Object> object = new ArrayList<Object>();
list1.add(new A());
object.add(new A());
ArrayList<B> list2 = new ArrayList<B>();
list2.add(new B());
object.add(new B());
object.add(new B());
listadapter mAdapterSeeLatest ;
mAdapterSeeLatest = new listadapter (getParent(),R.layout.help_row,object);
mCheckInListView.setAdapter(mAdapterSeeLatest);
private class listadapter extends ArrayAdapter {
ArrayList<Object> ListObject;
int srNumber = 1;
public listadapter (Context context, int textViewResourceId,
ArrayList<Object> objects) {
super(context, textViewResourceId, objects);
ListObject = objects;
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null)
{
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
if(ListObject.get(position) instanceof A)
{
}
else if(ListObject.get(position) instanceof B)
{
}
}
//now set this object ArrayList() into the List.
ArrayList list1=新的ArrayList();
ArrayList对象=新的ArrayList();
列表1.添加(新的A());
添加(新的A());
ArrayList list2=新的ArrayList();
列表2.add(新的B());
添加(新的B());
添加(新的B());
ListAdapterMadapterSeeLatest;
mAdapterSeeLatest=newlistadapter(getParent(),R.layout.help_行,对象);
setAdapter(mAdapterSeeLatest);
私有类listadapter扩展了ArrayAdapter{
ArrayList列表对象;
int srNumber=1;
公共listadapter(上下文上下文,int textViewResourceId,
ArrayList对象){
超级(上下文、textViewResourceId、对象);
ListObject=对象;
}
公共视图getView(int位置、视图转换视图、视图组父视图){
视图v=转换视图;
如果(v==null)
{
LayoutInflater vi=(LayoutInflater)getSystemService(Context.LAYOUT\u INFLATER\u SERVICE);
v=vi.充气(R.布局.行,空);
}
if(ListObject.get(位置)实例A)
{
}
else if(ListObject.get(position)instanceof B)
{
}
}
//现在将此对象ArrayList()设置到列表中。