微调器 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
.
尝试为我创建的微调器设置适配器时,出现 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
.