I can get the Spinner in the action bar this way; array of elements in re / values ββ/languages.xml
<string-array name="languages"> <item>Finnish</item> <item>French</item> <item>German</item> <item>Slovakian</item> <item>Polish</item> </string-array>
In res / menu / main.xml
<item android:id="@+id/menuSort" android:actionLayout="@layout/spinner" android:showAsAction="ifRoom" android:title="@string/choose"/>
In res / layout / spinner.xml
<Spinner android:id="@+id/spinner" android:layout_width="150dp" android:layout_height="wrap_content" android:entries="@array/languages"/>
And finally, the activity class;
public class Base_Activity extends Activity { @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); final Spinner spinner = new Spinner(this); Log.i("DEBUG1", "CHECKPOINT1"); ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>( this, android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(spinnerArrayAdapter); Log.i("DEBUG2", "CHECKPOINT2"); spinnerArrayAdapter.setDropDownViewResource(0); spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { String items=spinner.getSelectedItem().toString(); Log.i("Selected item : ",items); } @Override public void onNothingSelected(AdapterView<?> arg0) {
}
What I am not getting is ItemSelected from spinner elements nothing happens. As you can see from my xml file, I donβt even need an adapter to get a counter. But I am using an adapter for something to get OnItemSelected. Please help me what happened here?
bShah source share