您的位置:首页 > 其它

ExpandableListView的首次加载全部展开,并且点击Group不收缩、

2014-06-12 17:18 369 查看
最近在做Android市场的应用、看到好多市场类的QQ应用宝做的算是最完美的了、

在项目中要实现它的下载管理的实现,而界面如下:



反编译得到使用的是ExpandableListView、而怎么首次加载全部展开,而不能点击收缩呢?

1、首次加载全部展开:

[java] view
plaincopy

mDownloadListView.setAdapter(mDownloadAdapter);

for (int i = 0; i < downloadGroup.size(); i++) {

mDownloadListView.expandGroup(i);

}

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

2、不能点击收缩:

[java] view
plaincopy

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)

[java] view
plaincopy

//长按事件

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)

[java] view
plaincopy

/**

* 长按菜单响应函数

*/

@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 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐