0

我是安卓新手。我有一个项目列表,并试图将单个上下文菜单与每个列表项相关联。我已经设置了setListAdapteronListItemClick但是当我点击任何列表项时,我总是得到相同的上下文菜单。

理想情况下,列表项 A 应在单击时触发菜单 A,而列表项 B 应获取菜单 B。不知道该怎么做。任何人都可以帮我找到我可以用来学习如何做的示例代码吗?

4

2 回答 2

4

我没有任何显示该技术的示例代码——我最好的例子是我为咨询客户所做的事情。

但是,让我指出这个使用上下文菜单的示例项目并将其用作此解释的基础。

您需要在 中返回自定义菜单onCreateContextMenu()。如果您总是在此处返回相同的菜单,您将始终看到相同的菜单。要确定要显示哪个菜单,您需要知道哪个列表项被长按。对于 a 的上下文菜单ListView,您可以将ContextMenu.ContextMenuInfo提供的内容转换onCreateContextMenu()为 a AdapterView.AdapterContextMenuInfo。该对象可以告诉您_ID在列表中长按的项目的位置和位置,因此您可以选择正确的菜单。

在上面链接到的示例代码中,我做了这个onContextItemSelected(),所以我可以知道用户正在删除哪个项目。但是,相同的演员阵容在onCreateContextMenu().

于 2009-12-24T16:15:06.913 回答
1

Android 团队最近发布了一些新样本。我相信您正在尝试做的事情在这里有一个很好的例子。

于 2009-12-24T16:24:26.380 回答