我已经解析了xml并将已解析的元素保存在数组列表中。我的目标是将此值用于我的listviews部分和项目。
arraylist1 = [Satellite, Satellite, Satellite, Satellite, Map, Map, Hybrid, Hybrid, Hybrid, Hybrid]
arraylist2 = [Roads, Rivers, Buildings, Cars, Animals, Cats, Parcels, Speeds, BlaBla, XlaXla]
我已使用Set<String> s = new HashSet<String>(LayerNames);
来消除第一个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
不幸的是我的列表视图如下所示。
-Satellite ---> Sections
- Roads ---> ListView items
-Satellite
- Rivers
-Satellite
- Buildings
-Satellite
- Cars
-Map
- Animals
-Map
- Cats
-Hybrid
- Speeds
-Hybrid
- BlaBla
-Hybrid
- XlaXla
编辑1:我的列表视图项适配器。
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;
}
}
答案 0 :(得分:0)
使用旨在容纳群组的ExpandableListView
:http://developer.android.com/reference/android/widget/ExpandableListView.html