@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.delete:
deleteitem(id); //ID of item should be passed to method deleteitem
Toast.makeText(this, "delete",
Toast.LENGTH_LONG).show();
return true;
default:
return super.onContextItemSelected(item);
}
}
如您所见,我需要将表行的id传递给另一个方法。我尝试过使用info,但它始终为null。显然我在这里遗漏了一些东西,所以希望你能指出我正确的方向。感谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
AdapterContextMenuInfo有一个id和position字段,对应于所选适配器中的项目。
所以在你的代码中用你替换你的deleteItem。
deleteItem(info.id);
应该有用。