Android 在列表视图的arraylist中存储列表
我已经解析了xml并将解析后的元素保存在数组列表中。我的目标是将此值用于我的ListView部分和项目Android 在列表视图的arraylist中存储列表,android,parsing,listview,arraylist,Android,Parsing,Listview,Arraylist,我已经解析了xml并将解析后的元素保存在数组列表中。我的目标是将此值用于我的ListView部分和项目 arraylist1 = [Satellite, Satellite, Satellite, Satellite, Map, Map, Hybrid, Hybrid, Hybrid, Hybrid] arraylist2 = [Roads, Rivers, Buildings, Cars, Animals, Cats, Parcels, Speeds, BlaBla, XlaXla] 我使
arraylist1 = [Satellite, Satellite, Satellite, Satellite, Map, Map, Hybrid, Hybrid, Hybrid, Hybrid]
arraylist2 = [Roads, Rivers, Buildings, Cars, Animals, Cats, Parcels, Speeds, BlaBla, XlaXla]
我使用了sets=newhashset(layername)代码>以消除第一个arraylist的重复项。它完成了我的任务。我如何存储像这样的其他元素
arraylistblabla = 0 index - [Roads , Rivers, Buildings , Cars]
1 index - [Animals, Cats]
2 index - [Speeds, BlaBla , XlaXla]
提前感谢您的帮助
更多解释
我想做的就是我的listview应该是这样的
-Satellite ---> Sections
- Roads ---> ListView items
- Rivers
- Buildings
- Cars
-Map
- Animals
- Cats
-Hybrid
- Speeds
- BlaBla
- XlaXla
不幸的是,我的listview如下所示
-Satellite ---> Sections
- Roads ---> ListView items
-Satellite
- Rivers
-Satellite
- Buildings
-Satellite
- Cars
-Map
- Animals
-Map
- Cats
-Hybrid
- Speeds
-Hybrid
- BlaBla
-Hybrid
- XlaXla
编辑1:My listview项目适配器。
public class ListViewItemsAdapter extends ArrayAdapter<Item> {
private Context context;
private ArrayList<Item> items;
private LayoutInflater vi;
private int resLayout;
private CheckedTextView ctv;
private int selectedIndex;
ArrayList<Item> selectedItems = new ArrayList<Item>();
public ListViewItemsAdapter(Context context, ArrayList<Item> items) {
super(context, 0, items);
this.context = context;
this.items = items;
vi = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
selectedIndex = -1;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
final Item i = items.get(position);
if (i != null) {
if (i.isSection()) {
ListViewItemsSection si = (ListViewItemsSection) i;
v = vi.inflate(R.layout.list_item_section, null);
v.setOnClickListener(null);
v.setOnLongClickListener(null);
v.setLongClickable(false);
final TextView sectionView = (TextView) v.findViewById(R.id.list_item_section_text);
sectionView.setText(si.getTitle());
sectionView.setTextColor(0xffffffff);
} else {
ListViewItems ei = (ListViewItems) i;
v = vi.inflate(R.layout.list_item_entry, null);
final TextView title = (TextView) v.findViewById(R.id.list_item_entry_title);
if (title != null)
title.setText(ei.title);
}
}
return v;
}
}
公共类ListViewItemsAdapter扩展了ArrayAdapter{
私人语境;
私有ArrayList项;
私人停车场6号;
私有布局;
私家侦探电视;
私有int-selectedIndex;
ArrayList selectedItems=新建ArrayList();
public ListViewItemsAdapter(上下文、ArrayList项){
超级(上下文,0,项);
this.context=上下文;
这个项目=项目;
vi=(LayoutInflater)context.getSystemService(context.LAYOUT\u充气机\u服务);
selectedIndex=-1;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图v=转换视图;
最终项目i=项目。获取(位置);
如果(i!=null){
if(i.isSection()){
ListViewItemsSection si=(ListViewItemsSection)i;
v=vi.充气(R.布局.列表项目部分,空);
v、 setOnClickListener(空);
v、 setOnLongClickListener(空);
v、 设置长点击(假);
最终文本视图部分视图=(文本视图)v.findViewById(R.id.list\u item\u section\u text);
sectionView.setText(si.getTitle());
sectionView.setTextColor(0xffffffff);
}否则{
ListViewItems ei=(ListViewItems)i;
v=vi.充气(R.布局.列表项目输入,空);
最终文本视图标题=(文本视图)v.findViewById(R.id.list\u item\u entry\u title);
如果(标题!=null)
title.setText(ei.title);
}
}
返回v;
}
}
使用一个设计用于容纳组的可扩展listview
:您能给我们看一下您的适配器和listview代码吗?好的,我可以显示。真的不一样。但我认为这与适配器无关。如果我像我提到的那样制作数组列表,它将完成我的工作。但我会共享我的适配器。不,我知道可扩展列表视图是正确的,但是。我的目标不是制作可扩展的listview。奇怪的是,你给了我负号,因为我没有接受你的答案。我必须接受你的回答才能从你那里得到好处。这个地方不是满足用户自我的地方。