如何将上下文菜单添加到微调框弹出窗口?
我有一个由数据库光标填充的微调器,我想要一个上下文菜单,所以当用户长按一个项目时,他们可以编辑或删除该项目(上下文菜单中的两个选项)。
我似乎无法找到为可选项目显示的窗口注册上下文菜单的方法。有没有办法,比如列表View?
否则,如何为上下文菜单注册隐藏视图,然后使用微调器的OnItemLongClickListener调用openContextMenu作为隐藏视图?这似乎有点像黑客,所以如果可能的话,我宁愿以正确的方式去做。
或许我应该只为上下文菜单注册微调器而不是隐藏的...
谢谢!
答案 0 :(得分:2)
如何将上下文菜单添加到微调框弹出窗口?
理想情况下,你甚至都不会尝试。新的Honeycomb UI将会淘汰经典的弹出式上下文菜单,至少对于平板电脑的外形而言,所以我不会投入大量时间将它们放入通常不使用它们的小部件中。
此外,用户不太可能发现您的上下文菜单,只是因为他们往往不会经常发现上下文菜单。用户往往不会通过随机刺伤屏幕进行第二次试验来查看菜单是否恰好弹出。他们了解您的上下文菜单的唯一方法是,如果他们阅读了精美的手册,我们都知道这种情况经常发生。因此,您需要一些其他方式让用户执行相同的操作 - 让他们能够通过不可发现的上下文菜单编辑/删除 是非常用户敌对的。因此,上下文菜单充其量只是一种促进因素,不值得强行进入意外和不受支持的地方。
我有一个由数据库光标填充的微调器,我想要一个上下文菜单,所以当用户长按一个项目时,他们可以编辑或删除该项目(上下文菜单中的两个选项)。
如果您需要上下文菜单,请将Spinner
转换为ListView
。这不仅会逐渐被更多的发现(如果他们长时间点击列表项,一些用户将习惯于有趣的事情),但上下文菜单会自然地工作。
如果您真的想要,可以将Spinner
(可能还有AbsSpinner
或其他超类)克隆到项目中,这样您就可以控制下拉行为,然后编写一些能够实现选择对话框中的上下文菜单。然后,您需要记住,这些都不会对Android 3.0中的新Spinner
起作用,只是因为没有更多的选择对话框。