[英]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.