Android:如何为自定义视图创建上下文菜单

3
我希望展示一个ContextMenu给一个自定义View,该View不是AdapterView的一部分。
我调用了:
myActivity.registerForContextMenu(myView);

而且右键菜单已经出现了。

但我不知道如何在

中访问myView的数据。

@Override
onContextItemSelected(MenuItem item) //...

我原以为我可以在中创建一个自定义的menuInfo

@Override
onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) //...

这是来自文档的内容:“menuInfo - 关于应该显示上下文菜单的项目的额外信息。这些信息将根据v类别而异。” 有人能给我一个提示吗?
1个回答

5
您的自定义视图类应该重写getContextMenuInfo()并返回一个实现ContextMenuInfo的自定义对象(考虑到接口没有成员,这并不难!),其中包含您想要菜单点击处理程序获取的额外每个视图数据。

然后,您可以通过调用item.getMenuInfo()并转换返回的值来从onContextItemSelected(MenuItem item)获取此对象。


我终于把它搞定了,我在使用自定义GridView时没有实现 getContextMenuInfo() 方法。如果有人需要示例,我已经在这里发布了(http://vinaybhargav.wordpress.com/2014/07/20/android-floating-context-menu-for-listviewgridview/)。 - Vinay Bhargav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接