当我尝试为我创建的微调器设置适配器时,我得到一个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?
提前致谢
答案 0 :(得分:2)
将android:actionViewClass
更改为app:actionViewClass
。您正在使用支持库,因此您需要使用这些属性的支持版本。否则,MenuInflater
无法找到您想要的课程,因此会引发NullPointerException
。