文档章节

ExpandableListView(二级ListView)的使用

SRain215
 SRain215
发布于 2015/12/21 13:13
字数 336
阅读 72
收藏 3

ExpandableListView首次加载全部展开,而不能点击收缩呢?

1、首次加载全部展开:

mDownloadListView.setAdapter(mDownloadAdapter);
		for (int i = 0; i < downloadGroup.size(); i++) {
			mDownloadListView.expandGroup(i);
		}

提醒:加载前别忘了判断adapter是否为空和有没有Group数据哦、

2、不能点击收缩:

mDownloadListView.setOnGroupClickListener(new OnGroupClickListener() {
			
			@Override
			public boolean onGroupClick(ExpandableListView parent, View v,
					int groupPosition, long id) {
				// TODO Auto-generated method stub
				return true;
			}
		});

OK了,把他的组点击事件屏蔽。呵呵、

3、ExpandableListView的长按事件
网上的资料很多,但是真正管用的没几个,最后找到一个确实可以用的,在这分享下:
(1)

//长按事件
		mExpandableListView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
			
			@Override
			public void onCreateContextMenu(ContextMenu menu, View v,
					ContextMenuInfo menuInfo) {
				// TODO Auto-generated method stub
	      menu.setHeaderTitle("选择操作");
	      menu.add(0, DOWNLOAD_RETRY, 0, "重试");
	      menu.add(0, DOWNLOAD_DEL, 0, "删除");
	      menu.add(0, DOWNLOAD_START, 0, "启动");
			}
		});

(2)

/**
	 * 长按菜单响应函数
	 */
	@Override
	public boolean onContextItemSelected(MenuItem item) {
		// TODO Auto-generated method stub
		//关键代码
		ExpandableListContextMenuInfo info = (ExpandableListContextMenuInfo) item.getMenuInfo();
		int type = ExpandableListView.getPackedPositionType(info.packedPosition);
		if (type == ExpandableListView.PACKED_POSITION_TYPE_CHILD) {//上面的type设定这里类型的判定!这里是child判定!
			int groupPos = ExpandableListView.getPackedPositionGroup(info.packedPosition); //在child判定里面,获取该child所属group!
			int childPos = ExpandableListView.getPackedPositionChild(info.packedPosition); //在child判定里面,获取该child所属position!
			switch (item.getItemId()) {
			case DOWNLOAD_RETRY:
				makeTextShort("我是重试");
				break;
			case DOWNLOAD_DEL:
				makeTextShort("我是删除");
				break;
			case DOWNLOAD_START:
				makeTextShort("我是启动");
			default:
				break;
			}
          return true;
		}
		return false;
	}


4、目前上面浮动的未安装View没有实现,iOS的貌似是叫IphoneTreeView 。


© 著作权归作者所有

SRain215
粉丝 18
博文 144
码字总数 89414
作品 0
扬州
Android工程师
私信 提问
关于ExpandableListView设置setFastScrollEnabled

请问下二级菜单的的listview也就是ExpandableListView设置了setFastScrollEnabled熟悉那个快速滑动的方块对二级分类无效··只能够滑动一级分类·如何能够全都滑动?...

kronosno13
2012/02/11
1K
1
ExpandableListView和Listview可以共用一个写好的下拉刷新的工具类吗

以前我用的ListView加了下拉刷新,现在我改成了使用ExpandableListView,在他的基础上再加下拉刷新,我把关于Listview的都改成了ExpandableListView的 ,但是没效果,不知道是 ExpandableLi...

BAITOCC
2013/12/26
734
0
Android的ListView和ExpandableListView使用的问题

最近开发一个android项目使用到ListView和ExpandableListView两个控件,如何能实现ListView中动态插入数据以及 ExpandableListView的动态加载子数据集?...

路峰
2014/08/30
248
1
android ExpandableListView简单例子

android中常常要用到ListView,有时也要用到ExpandableListView,如在手机设置中,对于分类有很好的效果,会用ListView的人一定会用ExpandableListView,因为 ExpandableListView extends L...

贺路的路
2013/07/02
0
0
android中用ExpandableListView实现三级扩展列表

工作中遇到一个选择车型的问题,需要在扩展列表中选择车辆品牌->车型->年款,所以必须得使用三级的扩展列表来实现,而且第三级还得使用GridView来展示。下面就一步步来吧。 1.定义需要使用的...

JayPark不作死
2014/11/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

我为什么要写微信公众号

埋一颗种子,细心呵护,静待她枝繁叶茂,葱郁参天 V2论坛上有个帖子【做程序员最重要的还是一定要有自己的作品】,作者写道: 能有一个作品和你的名字联系在一起,应当成为在职业生涯前期着意...

运维咖啡吧
49分钟前
3
0
数据库

数据库架构 数据库架构可以分为存储文件系统和程序实例两大块,而程序实例根据不同的功能又可以分为如下小模块。 1550644570798 索引模块 常见的问题有: 为什么要使用索引 什么样的信息能成...

一只小青蛙
今天
5
0
PHP常用经典算法实现

<? //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ( $low <= $high){ $mid = int......

半缘修道半缘君丶
昨天
5
0
GIL 已经被杀死了么?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/8KvQemz0SWq2hw-2aBPv2Q 花下猫语: Python 中最广为人诟病的一点,大概就是它的 GIL 了。...

豌豆花下猫
昨天
6
0
git commit message form

commit message一般包括3部分:Header、Body、Footer。 <type>(<scope>):<subject>blank line<body>blank line<footer> header是必需的,body、footer可以省略。 header中type、subject......

ninjaFrog
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部