【问题标题】:Pass object reference to menu item selection handler将对象引用传递给菜单项选择处理程序
【发布时间】:2012-03-29 21:17:23
【问题描述】:

我有一组 View 实例,每个实例代表一些不同的数据对象(从 Java.Lang.Object 派生)。我通过设置视图的标记引用将每个视图与其数据对象相关联。视图可以生成上下文菜单,在 onCreateContextMenu 函数中我可以获取源视图,然后从其标签中获取数据对象。

我的问题是我找不到将数据对象与创建的菜单或菜单项相关联的方法,以便我可以在 onContextItemSelected() 中获取数据项。

如何将数据项传播到 onContextItemSelected()?

更新

从@asktomsk 发布的链接看来,如果原始视图是ListView,我想做的事情只有可能(没有很多子类化)。还阅读了 android 开发者网站上的 this 后,我怀​​疑冗长的上下文菜单可能无论如何都不可取,我应该找到不同的机制。

【问题讨论】:

  • 尝试将您的对象转换为所需的类型。您可能还想检查视图的视图类型。您可以通过yourViewObject.getClass().getSimpleName()获取班级名称来做到这一点

标签: android


【解决方案1】:

检查MenuItem.getMenuInfo() 数据。它包含有关上下文菜单调用者的信息。 您可能会在这里找到一些解释:

Identifying the view selected in a ContextMenu (Android)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 2021-06-06
    相关资源
    最近更新 更多