android expandable长按事件处理

ExpandableListView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
ExpandableListView.ExpandableListContextMenuInfo info = (ExpandableListView. ExpandableListContextMenuInfo) menuInfo;
   //得到父视图和子视图的int编号
   int type = ExpandableListView.getPackedPositionType(info.packedPosition);
   //得到子视图的下标
           int childPos = ExpandableListView.getPackedPositionChild(info.packedPosition);
           //得到父视图的下标
   int groupPos = ExpandableListView.getPackedPositionGroup(info.packedPosition); 
   
           dataList = queryTroubleExpandablechild(listall.get(groupPos).get("expanda_ID"). toString());
//判断是不是长按的子视图,是为true
   if(type == ExpandableListView.PACKED_POSITION_TYPE_CHILD){


//如果再父视图长按的话,有子视图的下标就会报错,
//子视图可以任意用父视图的下标,但父视图不能随便用子视图的下标
           
        String meunTitle= ((String[])dataList.get(childPos))[0];//标题
           _id =((String[]) dataList.get(childPos))[3];


selectIndex = childPos;
menu.setHeaderTitle(meunTitle);
menu.add(0,1,0,"复查");
menu.add(0,2,0,"销案");
      }
   //判断是不是长按的父视图,是为true
if (type == ExpandableListView.PACKED_POSITION_TYPE_GROUP) {
           int groupPos = ExpandableListView.getPackedPositionGroup(info. packedPosition); 
           Toast.makeText(this, title + ": Group " + groupPos + " clicked", Toast. LENGTH_SHORT).show();
           return true;
       }
});
}


public boolean onContextItemSelected(MenuItem item) {
//对话框案件的操作
 switch (item.getItemId()) {
case 1:
onItemclickcontent(1);//复查
break;
case 2:
onItemclickcontent(2);//销案
break;
default:
break;
}
           return super.onContextItemSelected(item);

       
return false;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值