Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 微调器作为菜单项未由findViewById初始化_Android_Android Spinner_Android Menu - Fatal编程技术网

Android 微调器作为菜单项未由findViewById初始化

Android 微调器作为菜单项未由findViewById初始化,android,android-spinner,android-menu,Android,Android Spinner,Android Menu,我的操作栏上有一个旋转器。它是菜单项(不是导航模式)。它在从spinnerNumber调用方法的行上返回一个nullpointerexception。 我认为xml有问题,或者我不应该在OnCreateOptionMenu上初始化它(但我认为在OnCreate上调用它,当菜单xml还没有膨胀时,也不正确) act_main.xml: <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item

我的操作栏上有一个旋转器。它是菜单项(不是导航模式)。它在从spinnerNumber调用方法的行上返回一个nullpointerexception。 我认为xml有问题,或者我不应该在OnCreateOptionMenu上初始化它(但我认为在OnCreate上调用它,当菜单xml还没有膨胀时,也不正确)

act_main.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:id="@+id/numberSpinner"
    android:actionLayout="@layout/spin_number"
    android:showAsAction="always">
</item>
<item
    android:id="@+id/menu_settings"
    android:orderInCategory="100"
    android:showAsAction="ifRoom"
    android:title="@string/menu_settings">
</item>

findViewbyId将尝试从活动的contentView中查找id

而不是

spinnerNumber= (Spinner)findViewById(R.id.numberSpinner);
试试这个

MenuItem item = menu.findItem(R.id.numberSpinner);
spinnerNumber = (Spinner)item.getActionView()

oncreateoptions菜单
中初始化我的
MenuItem
对我来说很有效。谢谢
spinnerNumber= (Spinner)findViewById(R.id.numberSpinner);
MenuItem item = menu.findItem(R.id.numberSpinner);
spinnerNumber = (Spinner)item.getActionView()