如何获取启动上下文菜单显示的视图?

时间:2011-06-14 15:43:50

标签: android listview contextmenu

我有ListView,我注册听上下文菜单。之后我在listView A,B和C中得到3个项目。当我长按其中一些时,显示上下文菜单,但我怎么知道这是A还是B还是C?如何找出按下了哪个项目?

2 个答案:

答案 0 :(得分:1)

您必须使用一些List来填充ListView ...然后使用以下内容:

@Override
public boolean onContextItemSelected(MenuItem item)
{
    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item
            .getMenuInfo();
    int temp = info.position;


    //temp is the index of your list.. simply use this:
    String item = list.get(temp);

    return true;
}

希望有所帮助

<强> UPDATE ::

要检查按下了哪个项目以及要显示的菜单,请参阅以下内容:

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo)
{
    if (v.getId() == your listview id)
    {
        AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;

        //Now simply use info.position to get the string from your list. use
        // if else statements and use menu.add(String) to add menu items....           
    }

答案 1 :(得分:0)

Here一些如何使用ContextMenu的示例,您只需要覆盖onContextItemSelected(MenuItem item)

相关问题