Java 如何定义已单击的ListView?

Java 如何定义已单击的ListView?,java,android,listview,Java,Android,Listview,我一直在开发Android应用程序,每个视图有3个ListView和一个ContextMenu: @Override public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo info) { menu.add(Menu.NONE, CONTEXT_MENU_ITEM_DELETE, Menu.NONE, "Delete"); super.onCreateContextMenu(men

我一直在开发Android应用程序,每个视图有3个
ListView
和一个
ContextMenu

@Override
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo info) {

    menu.add(Menu.NONE, CONTEXT_MENU_ITEM_DELETE, Menu.NONE, "Delete");
    super.onCreateContextMenu(menu, view, info);
}
点击捕捉注册:

this.registerForContextMenu(mFirstCategory);    
this.registerForContextMenu(mSecondCategory);
this.registerForContextMenu(mMainCategory);
mFirstCategory、mSecondCategory、mMainCategory是列表视图。此外,我还提供了单击行的方法:

@Override
public boolean onContextItemSelected(MenuItem item) {

    AdapterContextMenuInfo info=(AdapterContextMenuInfo)item.getMenuInfo();
    String name = null;
    switch (info.targetView.getId()) {

    case (R.id.listViewFirst): name="First";
    case (R.id.listViewSecond): name="Second";
    case (R.id.listViewMain): name="Main";

    }

    Toast.makeText(this, name+"_"+String.valueOf(info.position), Toast.LENGTH_LONG).show();

    return super.onContextItemSelected(item);
}

我需要定义
ListView
ListView
单击的位置(行)。我的“开关/机箱”模块不工作。请告诉我,我怎样才能满足我的需要

targetView是ListView中的单行。它的父对象将是您的ListView:

final ListView listView = (ListView) info.targetView.getParent();  
然后做:

switch (listView.getId())

targetView是ListView中的单行。它的父对象将是您的ListView:

final ListView listView = (ListView) info.targetView.getParent();  
然后做:

switch (listView.getId())

不确定这是否是您定义的“开关/机箱块不工作”,但似乎您忘记调用
break在每个
案例之后
-因此
名称
将始终是

case (R.id.listViewFirst): name="First"; break;
case (R.id.listViewSecond): name="Second"; break;
case (R.id.listViewMain): name="Main"; break;

不确定这是否是您定义的“开关/机箱块不工作”,但似乎您忘记调用
break在每个
案例之后
-因此
名称
将始终是

case (R.id.listViewFirst): name="First"; break;
case (R.id.listViewSecond): name="Second"; break;
case (R.id.listViewMain): name="Main"; break;

在某些情况下,targetView.getParent()返回null-知道为什么会发生这种情况(以及为什么它只偶尔发生)?在某些情况下,targetView.getParent()返回null-知道为什么会发生这种情况(以及为什么它只偶尔发生)吗?