ExpandableListViewListView的子类,是对ListView进行的扩展,他的列表内容提供不再是Adapter接口,而是ExpandableListAdapter接口来提供,同样ExpandableListAdapter接口的实现类有以下三种:

1.SimpleExpandableListAdapter

2. SimpleCursorTreeAdapter

3.BaseExpandableListAdapter

下面主要介绍下扩展BaseExpandableListAdapter类来实现:

使用步骤:

  1. 首先在布局文件中添加ExpandableListView组件

  2. 在代码中定义列表项资源,在定义资源的时候可以这样思考:首先是定义组列表项的内容资源(假如每个组列表项由一张图片和一个类别名称组成,那么就先定义一个图片资源的数组和一个类别名称的数组,分组个数和数组长度一致),其次是定义子列表项的内容,假如每个组的子列表项都是简单的显示一个文本,那么就可以定义一个二维数组(包含多个一维数组的数组),如:

    String[] [] str = new String[] [] {

      {“第一组1”,” 第一组2”,” 第一组3”},

    {“第二组1”,” 第二组2”,” 第二组3”,’第二组4}

    {“第一组1”,” 第一组2” }

    };

    注意:二维数组的内一维数组的个数要和分组个数一致,至于每个一维数组内部包含多少个元素,这个可以不相同。

  3. 创建BaseExpandableListAdapter对象,在创建的时候需重写四个方法:

    1.getChild(groupposition,childposition):返回具体的子列表的值:return str[groupposition][ childposition]

    2getChildId(groupposition,childposition):返回子列表idreturn childposition

    3.getChildrenCount(groupposition):返回子列表的个数,return  str[groupposition].length;

    4.getChildView:用来设置子列表的内容,通常调用getChild获得数组的具体值。

    5.getGroup(groupposition):返回某个数组的名称,return name[groupposition];

    6.getGroupId(groupposition):返回组idreturngroupposition

    7.getGroupCount:设置组的数目,return name.lehgth;

    8.getGroupView:用来设置组的内容,通常调用getgroup获得组的文字表示

    9.其余的方法直接返回true就行了

4.adaptereapandableListView进行适配

更多相关文章

  1. ExpandableListView二级列表
  2. Android(安卓)version and Linux Kernel version
  3. 2010.11.15———android spinner下拉列表
  4. RecyclerView 局部更新
  5. Android(安卓)Market排名算法及规则
  6. android 文本框实现搜索和清空效果
  7. Android单击显示contextMenu
  8. [android]在上下文菜单的选中事件中获取列表选中的元素
  9. 箭头函数的基础使用

随机推荐

  1. Android实现图片左右滑动效果
  2. Android软件中嵌入地图之三:Google地图
  3. android资源别名
  4. 第五章(4)Libgdx应用框架之日志记录
  5. Android麦克风录音带音量大小动态显示的
  6. 细说dex2oat(3)
  7. Activiy或者Fragment 销毁时,Dialog 的正
  8. UI控件--自定义SeekBar样式
  9. Android之apk文件签名——keytool 和 jar
  10. 开发规范真的很重要