listView 代码部分就不贴出来了,这部分很简单。
主要看一下onContextItemSelected 获取item的内容
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
menu.setHeaderTitle(R.string.context_menu_regist_car_title);
menu.add(Menu.NONE, 0, Menu.NONE, "1");
menu.add(Menu.NONE, 1, Menu.NONE, "2");
menu.add(Menu.NONE, 2, Menu.NONE, "3");
menu.add(Menu.NONE, 3, Menu.NONE, "4");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item.getMenuInfo();
// 获取item控件值
View itemView = menuInfo.targetView;
TextView tv_lsh = (TextView) itemView.findViewById(R.id.tv_lsh);
String l = tv_lsh.getText().toString();
int position = menuInfo.position;
// int position = new Long(menuInfo.id).intValue();
Object object= dataList.get(position - 1);
switch (item.getItemId()) {
case 0:
break;
default:
break;
}
return super.onContextItemSelected(item);
}
View itemView = menuInfo.targetView;
TextView tv_lsh = (TextView) itemView.findViewById(R.id.tv_lsh);
String l = tv_lsh.getText().toString();
这里这2个方法都可以回去到当前点击的位置,一个是直接拿到位置,后者是通过索引拿到位置;前者点击第一项获取到的是1,后者是0;所以用前者需要-1 才是真正获取到的item.int position = menuInfo.position;
// int position = new Long(menuInfo.id).intValue();