ListView长按获取item的方法

文章详细介绍了如何在ListView中处理长按事件触发的上下文菜单,特别关注如何从菜单项点击返回时定位到正确的ListView Item进行特定操作。通过解析AdapterView.AdapterContextMenuInfo获取Item信息,实现精准的Item操作。

在做Notes的过程中碰到一个问题

我为ListView的每一个Item添加了长按事件

listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

					@Override
					public void onCreateContextMenu(ContextMenu menu, View v,
							ContextMenuInfo menuInfo) {
						menu.setHeaderTitle("操作");
						menu.add(0, 0, 0, "删除");
					}
				});

 之后需要处理当点击这个长按菜单项的动作

public boolean onContextItemSelected(MenuItem item) {
		return super.onContextItemSelected(item);
	}

 这是都知道的 但是我在这个删除过程中 需要找到ListView中对应的这个Item 从而根据Item的属性做出对应操作,而不是我点击的菜单Item,在优快云上我找到了答案

AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();

 就是这句话了 menuInfo中包含很多属性 其中id就是ListView的id号 targetView则是ListView中Item本身 还存在其他的方法属性可以使用

 

这是原讨论帖:http://topic.youkuaiyun.com/u/20100727/17/0a767770-e5c4-4fa8-922e-a8449b1377b2.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值