我在XML文件中定义了一个菜单,例如" home_menu.xml"像这样:
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <!-- Should always be in the overflow --> <item android:id="@+id/action_settings" android:showAsAction="never" android:title="@string/action_settings"/> <item android:id="@+id/action_user_preferences" android:showAsAction="never" android:title="@string/action_user_preferences"/> <item android:id="@+id/action_logout" android:showAsAction="never" android:title="@string/action_logout"/> </menu>
在我的&#34; Home&#34;活动,我可以通过按下具有物理按钮的设备中的菜单按钮来访问此菜单,但我不想使用操作栏,因此我想为谷歌地图添加导航抽屉。
如果我可以使用我的Home活动中定义的相同onOptionsItemSelected()方法来处理菜单操作,那就太棒了。
答案 0 :(得分:0)
你无法做到这一点。
您必须手动执行此操作。
或半手动。你可以在onCreateOptionsMenu中获取所有带有标题,图标和id的菜单项,并为抽屉生成视图(例如listview)。 并使用共享方法来处理在参数中获取id的单击。 但是如果你想在菜单中隐藏/显示一些元素,你必须手动更新你的列表视图,因为onCreateOptionsMenu不会被调用。如果你有多个带菜单的片段,你也必须做点什么。
所以即使有硬件菜单键,我也建议使用抽屉。