将列表存储在ListView的arraylist中

时间:2015-02-27 07:44:40

标签: android parsing listview arraylist

我已经解析了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;
}
}

1 个答案:

答案 0 :(得分:0)