(一)
listActivity 与 ExpandableListActivity 的区别
1:
ListActivity 继承自 activity,自身绑定了一个 listview 视图,并提供了一些与列表视图,处
理相关的操作。如果界面中只有一个 listview 的话,我们可以把 setContentView 注释掉,不
用定义列表的 xml 文件,因为它本身就有一个默认的 layout。如果你想要制定自己的
layout,也可以在 setContentView 中引用自己定义的 layout。但这时,必须注意的是,此时
的 listview 的 id 必须是系统给定的 id。android:id = "@android:id/list";
在 ExpandableListActivity 中,ExpandableListView 中的 id 也有同 listActivity 同样的要求。
需用:
android:id="@android:id/list"
2:
ExpandableListActivity,可分组的 listActivity。ExpandableListActivity 和 ExpandableListView
的关系就像
listActivity 与 listview 的关系式。
3:
listActivity 中 可 用 simpleAdapter 进 行 赋 值 , ExpandableListActivity 中 可 用
SimpleExpandableListAdapter 进行赋值
(二)
实现二级菜单的具体步骤:
1:创建一个工程,工程中的 Activity 必须继承自 ExpandableListActivity
2:创建三个.xml 文件。main.xml, parent.xml, child.xml. 其中呢,main.xml 是控制整个列表
的显示样式,它的里面有个 ExpandableListView 控件和一个 textview 控件。parent.xml,控制
一级条目的列表显示样式,包括一个 textview 控件。child.xml 控制二级条目的列表样式,
里面只定义了一个 textview 控件。
3:为一级条目和二级条目添加数据
4:用 SimpleExpandableListAdapter 为整个树形菜单赋值
5:SimpleExpandableListAdapter 参数的解析:
(1):context
(2):一级条目的数据
(3):一级条目的布局文件样式
(4):一级条目中的 key 的值
(5):一级条目中的数据将要显示的控件的 id
(6):二级条目的数据
(7):二级条目的布局文件的样式
(8):二级条目的 key 的值
(9):二级条目的数据将要显示的控件的 id
(三)
具体的实现:
1:三个布局文件