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?