ExpandableListActivity
一个activity,能显示可扩展的条目列表,该列表能通过绑定一个数据实现ExpandableListAdapter,并且当用户选择他们的时候自己展示是时间handlers
ExpandableListActivity建立了一个ExpandableListView 对象,该对象可以绑定不同的数据源,该数据源提供两层数据(顶层为group,在顶层以下的每一个次层为子层)。通过绑定,屏幕样式布局,请看下面详解。
屏幕显示布局
ExpandableListActivity拥有一个缺省的布局,该布局结合了一些简单的,满屏幕的,可拓展list.尽管如此,如果你想的话,你可以在onCreate()中通过中的setContentView() 设置自定义的布局文件。如果真的那样做,你必须包含一个拥有id为"@android:id/list"的ExpandableListView 对象。
可选的是,当视图为空的时候,你可以自定义一个视图去显示,该视图任一些任何类型的视图对象。当list视图为空的时候,空的list必须使用"android:empty"来标示id 。值得注意的是,当一个空的视图出现的时候,它将被隐藏。
新建两个child.xml和group.xml布局文件
设置一二级的样式
child.xml
group.xml
main.xml
值得注意的是<ExpandableListView></>
ExpandableListActivity.java
先设置总列表,总列表中有1,2两个大组分别为“dota”和"diablo"
然后每一个大组下又有相对应的字组
dota中对应的小组有
diablo中对应的小组有diablo1,diablo2和diablo3
定义一个List,该List对象为一级目录提供数据,该List实现对象是groups,是一个只能存储Map<String,String>类型的列表。
一级目录中有两个Map<String,String>类型哈比表,分别为group1和group2,通过同一个键“group”分别对应显示的值“DOTA”和“Diablo”。最后将两个列表添加到能存储Map<String,String>列表中
之后需要顶一个List对象来保存所有二级条目的数据,这里二级条目的名称为child1和child2,他们的类型都是List<Map<String,String>>类型
最后将数据绑定到适配器中
联系客服