ExpandableListActivity

ExpandableListActivity

ExpandableListActivity是Activity的子类。。。类似于ListActivity,不过界面和所实现的功能是有所差别的。

1.首先先设置主布局

 
注:其中 android:drawSelectorOnTop="false"
指的是选中一个组的时候的那个高亮显示是否覆盖原来的内容。

2设置组的布局文件,即一级条目的样子

 

3.设置二级条目的布局文件

4.构建SimpleExpandableListAdapter

//定义一个List,该List对象为一级条目提供数据
  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);
  
  //定义一个List,该List对象为第一个一级条目提供二级条目的数据
  List<Map<String, String>> child1 = new ArrayList<Map<String, String>>();
  Map<String, String> child1Data1 = new HashMap<String, String>();
  child1Data1.put("child", "child1Data1");
  child1.add(child1Data1);
  Map<String,String> child1Data2 = new HashMap<String,String>();
  child1Data2.put("child", "child1Data2");
  child1.add(child1Data2);
  
  //定义一个List,该List对象为第二个一级条目提供二级条目的数据
  List<Map<String, String>> child2 = new ArrayList<Map<String, String>>();
  Map<String, String> child2Data = new HashMap<String, String>();
  child2Data.put("child", "child2Data");
  child2.add(child2Data);
  
  //定义一个List,该List对象用来存储所有的二级条目的数据
  List<List<Map<String, String>>> childs = new ArrayList<List<Map<String, String>>>();
  childs.add(child1);
  childs.add(child2);

  //生成一个SimpleExpandableListAdapter对象
  //1.context
  //2.一级条目的数据
  //3.用来设置一级条目样式的布局文件
  //4.指定一级条目数据的key
  //5.指定一级条目数据显示控件的id
  //6.指定二级条目的数据
  //7.用来设置二级条目样式的布局文件
  //8.指定二级条目数据的key
  //9.指定二级条目数据显示控件的id
  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 });
  //将SimpleExpandableListAdapter对象设置给当前的ExpandableListActivity
  setListAdapter(sela);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值