Android中多级列表可以使用ExpandableListView和SimpleExpandableListAdapter配合来实现,但是,SimpleExpandableListAdapter用起来挺麻烦的,不易理解,而且扩展性也不好,因此,自定义BaseExpandableListAdapter类的子类以及封装相关的操作,用起来会更加直观和方便,我把我设计的封装贴出来供新手参考吧。GroupList代码下载免费下载地址在 http://linux.linuxidc.com/用户名与密码都是www.linuxidc.com具体下载目录在 /2013年资料/9月/25日/Android开发实践:多级列表的封装与应用下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm首先上效果图,如图所示:1. 首先设计多级列表的标题类就像文件和文件夹可以统一地用File类来抽象一样,多级列表的一级标题和二级标题其实也可以用同一个基类来抽象,因此,我设计了一个基类和两个子类,GroupList,GroupListChild 和 GroupListParent,其实现如下所示:(1) GroupList 多级列表标题的抽象基类public abstract class GroupList { private final String mTitle;
public GroupList(String title) { mTitle = title; }
public String getTitle() { return mTitle; }
public abstract List<GroupList> getChild();
public abstract int getResource(); public abstract void buildView(View v); }(2) GroupListChild 多级列表二级标题子类public class GroupListChild extends GroupList {
public GroupListChild(String title) { super(title); }
@Override public int getResource() { return R.layout.grouplist_child; }
@Override public List<GroupList> getChild() { return null; }