我想为自定义视图显示一个ContextMenu,它不属于AdapterView。
我致电
myActivity.registerForContextMenu(myView);
并且ContextMenu已经显示。
但我不知道如何在
中访问myView的数据@Override
onContextItemSelected(MenuItem item) //...
我以为我可以在
中创建自定义menuInfo@Override
onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) //...
这是来自文档:“menuInfo - 有关应显示上下文菜单的项目的额外信息。此信息将根据v的类别而有所不同。”
任何人都可以给我一个提示吗?
答案 0 :(得分:5)
您的自定义视图类应覆盖getContextMenuInfo()
并返回实现ContextMenuInfo
的自定义对象(考虑到界面没有成员,这不是很难!)并且包含您希望菜单的额外的每视图数据 - 点击处理程序来获取。
然后,您可以通过调用onContextItemSelected(MenuItem item)
并投射返回的值来从item.getMenuInfo()
获取此对象。