android - 列出项目打开上下文菜单

Posted

技术标签:

【中文标题】android - 列出项目打开上下文菜单【英文标题】:android - list items open context menus 【发布时间】:2010-12-29 20:12:03 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

但是,让我指出this sample project 使用上下文菜单并将其用作此解释的基础。

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

根据发布的问题,该示例虽然不错,但没有显示上下文菜单。 能否适应创建上下文菜单而不是LinearLayout?我可能是错的,或者我选择了错误的样本。我昨晚浏览了这些,似乎比网站上列出的要多。 我想我的意思是链接到这个:d.android.com/resources/samples/ApiDemos/src/com/example/… :) 当你选择一个项目时,你可以建立一个对话框。

以上是关于android - 列出项目打开上下文菜单的主要内容,如果未能解决你的问题,请参考以下文章

Android将项目添加到全局上下文菜单

带有CustomAdapter的Listview项目上的上下文菜单android不显示

Android 上下文菜单项大小/高度,如何更改?

带有列表子项可聚焦android的列表视图上下文菜单

Android进阶(二十八)上下文菜单ContextMenu使用案例

当我生成上下文菜单时,在列表视图中选择一个项目