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

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

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

【问题讨论】:

    标签: android android-listview android-listadapter


    【解决方案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/… :) 当你选择一个项目时,你可以建立一个对话框。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      • 2021-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多