我是安卓新手。我有一个项目列表,并试图将单个上下文菜单与每个列表项相关联。我已经设置了setListAdapter和onListItemClick但是当我点击任何列表项时,我总是得到相同的上下文菜单。
理想情况下,列表项 A 应在单击时触发菜单 A,而列表项 B 应获取菜单 B。不知道该怎么做。任何人都可以帮我找到我可以用来学习如何做的示例代码吗?
我是安卓新手。我有一个项目列表,并试图将单个上下文菜单与每个列表项相关联。我已经设置了setListAdapter和onListItemClick但是当我点击任何列表项时,我总是得到相同的上下文菜单。
理想情况下,列表项 A 应在单击时触发菜单 A,而列表项 B 应获取菜单 B。不知道该怎么做。任何人都可以帮我找到我可以用来学习如何做的示例代码吗?
我没有任何显示该技术的示例代码——我最好的例子是我为咨询客户所做的事情。
但是,让我指出这个使用上下文菜单的示例项目并将其用作此解释的基础。
您需要在 中返回自定义菜单onCreateContextMenu()
。如果您总是在此处返回相同的菜单,您将始终看到相同的菜单。要确定要显示哪个菜单,您需要知道哪个列表项被长按。对于 a 的上下文菜单ListView
,您可以将ContextMenu.ContextMenuInfo
提供的内容转换onCreateContextMenu()
为 a AdapterView.AdapterContextMenuInfo
。该对象可以告诉您_ID
在列表中长按的项目的位置和位置,因此您可以选择正确的菜单。
在上面链接到的示例代码中,我做了这个onContextItemSelected()
,所以我可以知道用户正在删除哪个项目。但是,相同的演员阵容在onCreateContextMenu()
.
Android 团队最近发布了一些新样本。我相信您正在尝试做的事情在这里有一个很好的例子。