繁体   English   中英

从上下文菜单获取项目ID

[英]Get Item ID From Context Menu

嗨,人们,我试图获取该项目的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字段。

AdapterContextMenuInfo具有与所选适配器中的项目相对应的id和position字段。

因此,在您的代码中将此替换为deleteItem。

deleteItem(info.id);

应该管用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM