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);

 

posted @ 2011-09-29 09:06  春仔  阅读(201)  评论(1编辑  收藏  举报