在做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,在CSDN上我找到了答案
- AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
就是这句话了 menuInfo中包含很多属性 其中id就是ListView的id号 targetView则是ListView中Item本身 还存在其他的方法属性可以使用