android - 列出项目打开上下文菜单
Posted
技术标签:
【中文标题】android - 列出项目打开上下文菜单【英文标题】:android - list items open context menus 【发布时间】:2010-12-29 20:12:03 【问题描述】:我是 android 新手。我有一个项目列表,并试图将单个 上下文菜单 关联到每个列表项。我已经设置了 setListAdapter 和 onListItemClick,但是当我点击任何列表项时,我总是得到相同的上下文菜单。
理想情况下,列表项 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 - 列出项目打开上下文菜单的主要内容,如果未能解决你的问题,请参考以下文章
带有CustomAdapter的Listview项目上的上下文菜单android不显示