繁体   English   中英

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

[英]How to get the view that initiated the showing of context menu?

我有 ListView,我注册监听上下文菜单。 之后,我在 listView A、B 和 C 中获得了 3 个项目。 当我长按其中一些时,会显示上下文菜单,但我怎么知道那是 A 还是 B 或者 C? 我怎样才能知道按下了哪个项目?

您必须使用一些列表来填充 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;
}

希望能帮助到你

更新::

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

@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....           
    }

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

暂无
暂无

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

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