Absolutely the best and easiest answer I have found so far is here .
Basically, in this case there is no need for a custom layout. Just install actonViewClass:
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:yourapp="http://schemas.android.com/apk/res-auto" > <item android:id="@+id/spinner" yourapp:showAsAction="ifRoom" yourapp:actionViewClass="android.widget.Spinner" /> <== this is all that required </menu>
And then process it in onCreateOptionsMenu, as usual:
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_layout, menu); MenuItem item = menu.findItem(R.id.spinner); Spinner spinner = (Spinner) MenuItemCompat.getActionView(item);
This is by far the simplest and cleanest solution. Credits to Francois Poyer, the original author.
Alen Siljak Jun 04 '15 at 8:57 2015-06-04 08:57
source share