大家好
我正在尝试获取项目的ID(在本例中为表格行),长按此键可以弹出上下文菜单。到目前为止,这是我的代码。

@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传递给另一个方法。我尝试使用信息,但是它始终为null。显然,我在这里缺少一些东西,因此希望您能够为我指明正确的方向。谢谢。

最佳答案

检查AdapterContextMenuInfo.id字段。

关于java - 从上下文菜单获取项目ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5032601/

10-09 12:45