微调器 setAdapter 菜单 NullPointerException

Spinner setAdapter menu NullPointerException

尝试为我创建的微调器设置适配器时,出现 NullPointerException

这是我的代码:

菜单:

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

    <item
    android:id="@+id/action_country"
    android:icon="@drawable/ic_action_social_public"
    android:title="Country"
    app:showAsAction="always"
    android:actionViewClass="android.widget.Spinner"/>

</menu>

OnCreateOptionsMenu :

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu, menu);
    MenuItem item = menu.findItem(R.id.action_country);
    Spinner spinner = (Spinner)item.getActionView();
    String[] items={"Home","Search","Settings"};
    ArrayAdapter adapter=new ArrayAdapter(this,R.layout.support_simple_spinner_dropdown_item,items);
    spinner.setAdapter(adapter);
    return true;
}

知道我为什么会收到 NullPointerException 吗?

提前致谢

android:actionViewClass 更改为 app:actionViewClass。您正在使用支持库,因此您需要使用这些属性的支持版本。否则 MenuInflater 找不到你想要的 class 所以它会抛出一个 NullPointerException.