希望的效果:点击删除或修改,可以得到长按的这一行的内容(比如:编号或姓名),不是这一行在listview上的值(0,1,2....)。
ListView.OnCreateContextMenuListener ContextMenuListener = new AdapterView.OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
menu.setHeaderTitle("菜单");
menu.add(0, 1, 0, "删除");
menu.add(0, 2, 0, "修改");
}
};
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
int position = menuInfo.position;
int item_id = item.getItemId();
switch (item_id) {
case 1:
Log.i(TAG, position + "");
Log.i(TAG, "菜单中选择删除用户信息");
break;
case 2:
Log.i(TAG, "菜单中选择修改用户信息");
break;
default:
break;
}
return super.onContextItemSelected(item);
}