android原生ExpandableListView
android原生可扩展ExpandableListView就是可以伸缩的listView,一条标题下面有多条内容。

这个list的adapter对的数据要求与普通ListView的数据要求也有一些差别,这个list需要有两个数据源
一半需要 List<String> groups 作为group 和一个 Map<String , List<String>> children 作为children,他们最好意义对应
ExpandableListView使用起来和普通的listView方式差不多,不过ExpandableListView的适配器需要继承的父类是
BaseExpandableListAdapter,实现其中的各个方法。
下面说一说需要重写的方法的意
1.public Object getChild(int groupPosition, int childPosition) 返回当前group下的当前子内容对象。
2. long getChildId(int groupPosition, int childPosition) 返回当前group下的当前子内容的id。
3.public View getChildView(final int groupPosition,final int childPosition, boolean isLastChild, View convertView,
ViewGroup parent) 这个方法才是最重要的,类似于BaseAdapter的getView方法。在这里主要完成对内容条目的编码。
4.public int getChildrenCount(int groupPosition) 返回当前group下面有多少条内容。
5.public Object getGroup(int groupPosition) 返回当前group对象
6.public int getGroupCount() 返回一共有多少个group
7.public long getGroupId(int groupPosition) 返回当前group的ID
8.public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) 这个方法主要对group进行编码,需要什么样的group就在这里编码即可。 isExpanded 返回当前group是打开还是关闭的状态
9.public boolean isChildSelectable(int groupPosition, int childPosition) 返回true 每一条的字内容可点击,否则相反。
10.public boolean hasStableIds() 这个还不止有什么用途,一半返回true。
自定义group的指示器
listView.setGroupIndicator(getResources().getDrawable(R.drawable.ic_launcher));
也可以让其隐藏在getGroupView中编码
源码下载Download
这个demo是继承自定义的ExpandSlideListView还用于下面一遍可以滑动内容的文章,两个文章用的是同一个源码。本人水平有限,见谅。
android原生ExpandableListView的更多相关文章
- 拓展 Android 原生 CountDownTimer 倒计时
拓展 Android 原生 CountDownTimer 倒计时 [TOC] CountDownTimer 在系统的CountDownTimer上进行的修改,主要是拓展了功能,当然也保留了系统默认的模 ...
- Android原生json和fastjson的简单使用
android原生操作json数据 主要是两个类 JSONObject 操作对象 JONSArray操作json数组 对象转json //创建学生对象 Student student=new ...
- Android原生游戏开发:使用JustWeEngine开发微信打飞机
使用JustWeEngine开发微信打飞机: 作者博客: 博客园 引擎地址:JustWeEngine 示例代码:EngineDemo JustWeEngine? JustWeEngine是托管在Git ...
- [Android Pro] android 4.4 Android原生权限管理:AppOps
reference : http://m.blog.csdn.net/blog/langzxz/45308199 reference : http://blog.csdn.net/hyhyl1990/ ...
- 22.Android之ExpandableListView树形列表学习
Android经常用到树形菜单,一般ExpandableListView可以满足这个需要,今天学习下. XML代码: <?xml version="1.0" encoding ...
- Android之ExpandableListView
ExpandableListView可以用来表现多层级的listView,本文主要是ExpandableListView的一个简单实现 布局文件 <LinearLayout xmlns:andr ...
- 【android原生应用】之闹钟应用搭起篇
由于工作原因接触android开发一段时间了,对于开发有了一些了解,于是萌生了搭起android原生应用进行分析和学习的想法.先从闹钟应用开始吧. 1.首先要下载原生应用,原生应用在原生系统里面(当然 ...
- Android 之 ExpandableListView 的使用
喜欢显示好友QQ那样的列表,可以展开,可以收起,在android中,以往用的比较多的是listview,虽然可以实现列表的展示,但在某些情况下,我们还是希望用到可以分组并实现收缩的列表,那就要用到an ...
- Android中ExpandableListView控件基本使用
本文採用一个Demo来展示Android中ExpandableListView控件的使用,如怎样在组/子ListView中绑定数据源.直接上代码例如以下: 程序结构图: layout文件夹下的 mai ...
随机推荐
- 03.JavaScript 面向对象精要--理解对象
JavaScript 面向对象精要--理解对象 尽管JavaScript里有大量内建引用类型,很可能你还是会频繁的创建自己的对象.JavaScript中的对象是动态的. 一.定义属性 当一个属性第1次 ...
- `UnityEditor.EditorUtility' does not contain a definition for `GetMiniThumbnail'
I got the following errors with Untiy 4.0f7error CS0117: `UnityEditor.EditorUtility' does not contai ...
- eclipse中的web环境配置
一.tomcat的安装 直接官网下载,选择自动配置安装Exe文件. 测试: 1.启动安装目录下bin文件中的exe文件,观察是否安装完好.若出现打断文字黑框,则说明已经安装完好. 2.输入网址.htt ...
- 《基于Apache Kylin构建大数据分析平台》
Kyligence联合创始人兼CEO,Apache Kylin项目管理委员会主席(PMC Chair)韩卿 武汉市云升科技发展有限公司董事长,<智慧城市-大数据.物联网和云计算之应用>作者 ...
- HashSet和HashMap的区别
HashSet和HashMap的区别.Java的HashSet类是由哈希表支持.它不保证 set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用 null 元素.HashSet类为基本操作提供 ...
- JavaScript中concat()方法
concat(参数) 用于数组之间的连接, arrayObject.concat(arrayX,arrayX,......,arrayX) 如: var a = [1,2,3]; document.w ...
- 听着好像很牛的特效——幽灵按钮DOM
给大家分享一个听着好像很牛的东西——幽灵按钮,这个玩意对于艺术设计细胞在高中决定不在考试试卷上画画的我来说,实在不感冒.但是这个按钮的设计元素很流行,一个网页东西不做几个,光放上几个按钮就会显得很高端 ...
- mongodb-replset安装
节点分配 10.110.18.89 10.110.18.90 10.110.18.94 配置文件 systemLog: destination: file path: "/data/mong ...
- MD5加密代码
import java.security.MessageDigest;public class MD5_tes { public final static String MD5(String s){ ...
- .net下开发ActiveX控件
` ActiveX 是一个开放的集成平台,为开发人员. 用户和 Web生产商提供了一个快速而简便的在 Internet 和 Intranet 创建程序集成和内容的方法. 使用 ActiveX, 可 ...