ExpandableListActivity
编辑器加载中...
用list添加两个一级栏目group1,group2
List<Map<String, String>>groups=new ArrayList<Map<String,String>>();
Map<String, String>group1=new HashMap<String, String>();
group1.put("group", "group1");
Map<String, String>group2=new HashMap<String, String>();
group2.put("group", "group2");
groups.add(group1);
groups.add(group2);
再用同样的方法添加两组子栏目child1,child2;child1中加入数据child1Data1,child1Data2,child2中添加了
child2Data1,child2Data2
List<Map<String, String>>child1=new ArrayList<Map<String,String>>();
Map<String, String>child1Data1=new HashMap<String, String>();
child1Data1.put("child", "child1Data1");
Map<String, String>child1Data2=new HashMap<String, String>();
child1Data2.put("child", "child1Data2");
child1.add(child1Data1);
child1.add(child1Data2);
List<Map<String, String>>child2=new ArrayList<Map<String,String>>();
Map<String, String>child2Data1=new HashMap<String, String>();
child2Data1.put("child", "child2Data1");
Map<String, String>child2Data2=new HashMap<String, String>();
child2Data2.put("child", "child2Data2");
child2.add(child2Data1);
child2.add(child2Data2);
再创建一个list把child1、child2加入到child中
List<List<Map<String, String>>>childs=new ArrayList<List<Map<String,String>>>();
childs.add(child1);
childs.add(child2);
这部是在本案例中最难理解的,实现SimpleExpandableListAdapter里面的参数查看文档来填写
R.layout.group 是第一级栏目的显示方式, R.layout.child,是子栏目的显示方式,
所以这里要创建group.xml,child.xml;
SimpleExpandableListAdapter sela=new SimpleExpandableListAdapter(this, groups, R.layout.group,
new String[]{"group"},
new int[]{R.id.groupTo}, childs, R.layout.child,
new String[]{"child"}, new int[]{R.id.childTo});
setListAdapter(sela);