Android 在列表视图的arraylist中存储列表

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] 我使

我已经解析了xml并将解析后的元素保存在数组列表中。我的目标是将此值用于我的ListView部分和项目

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。奇怪的是,你给了我负号,因为我没有接受你的答案。我必须接受你的回答才能从你那里得到好处。这个地方不是满足用户自我的地方。