2015-11-22 3 views
1

При попытке установить адаптер для блесны я создал Я получаю NullPointerExceptionSpinner setAdapter

Это мой код:

Меню:

<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?

Заранее спасибо

ответ

2

Изменить android:actionViewClass в app:actionViewClass. Вы используете библиотеку поддержки, поэтому вам нужно использовать версию поддержки этих атрибутов. В противном случае MenuInflater не может найти нужный класс, чтобы он выбрал NullPointerException.

Смежные вопросы