Aggiungi questo alla vostra attività metodo onCreate():
// Adapter
SpinnerAdapter adapter =
ArrayAdapter.createFromResource(this, R.array.actions,
android.R.layout.simple_spinner_dropdown_item);
// Callback
OnNavigationListener callback = new OnNavigationListener() {
String[] items = getResources().getStringArray(R.array.actions); // List items from res
@Override
public boolean onNavigationItemSelected(int position, long id) {
// Do stuff when navigation item is selected
Log.d("NavigationItemSelected", items[position]); // Debug
return true;
}
};
// Action Bar
ActionBar actions = getActionBar();
actions.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
actions.setDisplayShowTitleEnabled(false);
actions.setListNavigationCallbacks(adapter, callback);
Questo esempio richiede una risorsa array per le voci di elenco:
res/valori/arrays.xml
<string-array name="actions">
<item>Item 1</item>
<item>Item 2</item>
<item>Item 3</item>
</string-array>
In alternativa è possibile creare il proprio adattatore e il layout esteso da SpinnerAdapter per visualizzare elementi di elenco più avanzati o dinamici.
Per rendere ancora più ordinata l'attività sul codice onCrea, è possibile modificare l'attività per implementare OnNavigationListener e aggiungere l'override onNavigationItemSelected con il codice di richiamata. Quindi cambia "callback" in "this" nel metodo setListNavigationCallbacks().
Nota: è necessario utilizzare l'API 11+ come target per la barra delle azioni, altrimenti sarà necessario aggiungere il controllo della versione o una libreria di supporto.
Si prega di verificare la tua domanda come risposta o riformulare, se necessario. – JJD
Controllare la documentazione di Android: http://developer.android.com/guide/topics/ui/actionbar.html#Dropdown –