一、前言
当普通的ListView无法满足我们常常看到的可展开、可拓展列表时,我们就需要学习一个新的高级控件ExpandableListView,它可轻松实现可拓展的LIstView。
二、ExpandableListView使用步骤
1、在xml中使用并初始化ExpandableListView
2、自定义ExpandableListView适配器,继承于BaseExpandableListAdapter,由于BaseExpandableListAdapter是抽象类,所以会重写10个抽象方法,意思理解起来也很简单,方法名都是比较容易理解的。
稍微解释下重写的hasStableIds方法所代表的含义:它代表组和子元素是否持有稳定的ID,也就是底层数据的改变是否会影响到它们。
再讲得浅白一点就是指BaseAdapter的刷新顺序问题,在调用invalidateView()时,ListView会啥新内容,如果内容的id是有效的,系统会根据id来确定当前显示哪条内容,就是默认展示第一个的意思,而id是否有效是通过hasStableIds()来确定的。
3、准备数据源,设置适配器
4、设置监听:通过setOnChildClickListener监听点击的子布局