<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/item_first"
android:showAsAction="always"
android:visible="true">
</item>
<item
android:id="@+id/item_second"
android:showAsAction="always"
android:visible="true">
</item>
<item
android:id="@+id/item_third"
android:showAsAction="always"
android:visible="true">
<menu
android:id="@+id/menu_revice" >
<item
android:id="@+id/ap_none"
android:showAsAction="never"
android:title="Item in SubMenu 1"/>
<item
android:id="@+id/ap_mid"
android:showAsAction="never"
android:title="Item in SubMenu 2"/>
</menu>
</item>
</menu>
这是我的menu.xml文件。 我需要获取“item_thrid”中的子菜单“menu_revice”。 然后我尝试在onCreate(),onCreateOptionsMenu(),onOptionsItemSelected(),onPrepareOptionsMenu()中执行此操作:
Menu MainMenu
//try 1
Menu subMenu = (Menu)findViewById(R.id.menu_revice); // nullPointerException
// try 2
SubMenu subMenu = (SubMenu)findViewById(R.id.menu_revice); // nullPointerException
为什么会发生空指针异常?我不知道如何获取子菜单。请告诉我怎么做。谢谢。
findViewById(...)
。无论如何,您为什么要这样做呢?当选择菜单项时,相关的MenuItem
将传递给处理程序,然后您可以从中获取其ID并相应地采取行动。 - Squonk