0

So in my app, I have a spinner and a searchview in my main_menu:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto">
<item
    android:id="@+id/spinner1"
    android:title="Search for:"
    android:actionLayout="@layout/spin_number"
    app:showAsAction="always"/>
<item
    android:id="@+id/search"
    android:title="search"
    android:icon="@drawable/abc_ic_search_api_mtrl_alpha"
    app:showAsAction="always"
    app:actionViewClass="android.support.v7.widget.SearchView"/>
</menu>

and my spin_number layout:

<Spinner xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

Here is the code where I am trying to access the spinner:

public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main_menu, menu);
    final SearchView searchView = (SearchView)MenuItemCompat.getActionView(menu.findItem(R.id.search));
    final Spinner spinner1 = (Spinner)MenuItemCompat.getActionView(menu.findItem(R.id.spinner1));
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.country_arrays, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner1.setAdapter(adapter);
    SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

I get a Attempt to invoke virtual method 'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)' on a null object reference error on the spinner1.setAdapter line. However, the searchview is not null. What am I doing wrong here?

Brandon Slaght
  • 1,025
  • 1
  • 12
  • 34

1 Answers1

1

Replace the following in main_menu.xml

android:actionLayout="@layout/spin_number"

with

app:actionLayout="@layout/spin_number"

Reference

Community
  • 1
  • 1
thedarkpassenger
  • 7,158
  • 3
  • 37
  • 61