ExpandableListView的注意问题

反编译得到使用的是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; 

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值