Java 从上下文菜单中获取项目ID
大家好, 我正在尝试获取项目的id,在本例中是一个表行,它被长时间按下以打开上下文菜单。这是到目前为止我的代码Java 从上下文菜单中获取项目ID,java,android,Java,Android,大家好, 我正在尝试获取项目的id,在本例中是一个表行,它被长时间按下以打开上下文菜单。这是到目前为止我的代码 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); MenuInflater inf
@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传递给另一个方法。我已经尝试使用信息,但它总是空的。很明显我错过了一些东西,所以希望你能给我指出正确的方向。谢谢。请检查该字段。具有与所选适配器中的项目对应的id和位置字段
因此,在您的代码中,用以下内容替换deleteItem
deleteItem(info.id);
应该有效。yh但由于某些原因,信息总是null@crazyfool是否调用registerForContextMenu并传入ListView?我没有使用列表视图,我使用了每个表行,因此使用了:registerForContextMenutablerow@crazyfool具有相同问题的WARE info显示为空。你找到解决办法了吗?