【发布时间】:2011-07-06 20:02:14
【问题描述】:
我想让一个普通的菜单按钮弹出第二个菜单。
我不希望显示选项列表视图,我希望在按下菜单上的按钮时弹出第二个标准菜单。
使用 openOptionsMenu();使用 onCreateOptionsMenu 时有效
但是当你使用时不起作用:onPrepareOptionsMenu
由于要动态更改菜单上的选项,所以需要使用onPrepareOptionsMenu。
谢谢
【问题讨论】:
我想让一个普通的菜单按钮弹出第二个菜单。
我不希望显示选项列表视图,我希望在按下菜单上的按钮时弹出第二个标准菜单。
使用 openOptionsMenu();使用 onCreateOptionsMenu 时有效
但是当你使用时不起作用:onPrepareOptionsMenu
由于要动态更改菜单上的选项,所以需要使用onPrepareOptionsMenu。
谢谢
【问题讨论】:
对任何本身没有操作但会打开第二个菜单的菜单项使用菜单组。这是我做的一个例子。
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:titleCondensed="Cats" android:title="Cats" android:id="@+id/cats">
<menu>
<group android:id="@+id/catsGroup">
<item android:titleCondensed="Lolz Cats" android:title="Lolz Cats" android:id="@+id/twod"></item>
<item android:titleCondensed="Ugly Cats" android:title="Ugly Cats" android:id="@+id/ref"></item>
<item android:titleCondensed="Dumb Cats" android:title="Dumb Cats" android:id="@+id/vr"></item>
</group>
</menu>
</item>
<item android:titleCondensed="Dogs" android:title="Dogs" android:id="@+id/dogs">
<menu>
<group android:id="@+id/dogsGroup">
<item android:titleCondensed="Awesome Dog" android:title="Awesome Dog" android:id="@+id/pan"></item>
<item android:titleCondensed="Under Dog" android:title="Under Dog" android:id="@+id/zoom"></item>
<item android:titleCondensed="Snoopy" android:title="Snoopy" android:id="@+id/contrast"></item>
<item android:titleCondensed="Scooby Doo" android:title="Scooby Doo" android:id="@+id/page"></item>
<item android:titleCondensed="Pluto" android:title="Pluto" android:id="@+id/rotate"></item>
</group>
</menu>
</item>
</menu>
首先显示的菜单项是“Cats”和“Dogs”。当您选择其中一个时,将显示它们的子项目。希望这会有所帮助。
【讨论】: