Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从上下文菜单中获取项目ID_Java_Android - Fatal编程技术网

Java 从上下文菜单中获取项目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

大家好, 我正在尝试获取项目的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传递给另一个方法。我已经尝试使用信息,但它总是空的。很明显我错过了一些东西,所以希望你能给我指出正确的方向。谢谢。

请检查该字段。

具有与所选适配器中的项目对应的id和位置字段

因此,在您的代码中,用以下内容替换deleteItem

deleteItem(info.id);

应该有效。

yh但由于某些原因,信息总是null@crazyfool是否调用registerForContextMenu并传入ListView?我没有使用列表视图,我使用了每个表行,因此使用了:registerForContextMenutablerow@crazyfool具有相同问题的WARE info显示为空。你找到解决办法了吗?