ExpandableListView长按事件解决方法二

首先重写onCreateContextMenu方法
	@Override
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		super.onCreateContextMenu(menu, v, menuInfo);
		ExpandableListView.ExpandableListContextMenuInfo info = (ExpandableListView.ExpandableListContextMenuInfo) menuInfo;
		  //menuinfo该对象提供了选中对象的附加信息
		  
		  int type = ExpandableListView
		    .getPackedPositionType(info.packedPosition);
		    
		  int group = ExpandableListView
		    .getPackedPositionGroup(info.packedPosition);
		    
		  int child = ExpandableListView
		    .getPackedPositionChild(info.packedPosition);
		    
		  System.out.println("type---------"+ type);
		  System.out.println("group--------"+ group);
		  System.out.println("child--------"+ child);
//		  this.setMGroupID(group);
//		  this.setMChildrenID(child);
		  //响应
		  if (type == 0) {// 分组长按事件
		 System.out.println("父项");
		  } else if (type == 1) {// 长按子表项
		   System.out.println("子表项");
		  }


	}
 然后注册ExpandableListViexpandListAdapter,否则onCreateContextMenu方法不会执行
 	expandList = (ExpandableListView) findViewById(R.id.expandableListView1);
		//为ExpandableListView设置监听器
		expandListAdapter = new MyExpandableListAdapter();		
		expandList.setAdapter(expandListAdapter);
		//隐藏父控件的箭头图标
		expandList.setGroupIndicator(null);
		registerForContextMenu(expandList);
		//设置监听器


 

最后重写 public boolean onContextItemSelected(MenuItem item) 方法实现响应事件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值