Sto cercando di far funzionare il mio spinner come elemento della Lista a discesa della barra di azioni, ma non riesco a implementarlo affatto, non ci sono molti tutorial per questo dopo aver cercato su Google. Penso che abbia qualcosa a che fare con .setListNavigationCallbacks(); linea di codice, non ho proprio idea di come farlo funzionare da quella linea in poi.Come posso aggiungere il mio spinner all'ActionBar?
// setup action bar for spinner
ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
bar.setListNavigationCallbacks();
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.tools_array_stopwatch, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
switch (arg2) {
case 0:
break;
case 1:
Intent countdown = new Intent(this, CountdownActivity.class);
startActivity(countdown);
break;
default :
break;
}
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
"La navigazione di elenchi e schede nella barra delle azioni non è per le attività di avvio." Perché non è possibile utilizzare una barra delle azioni per avviare attività? –
@JerryBrady: gli elementi di azione (ad esempio, i pulsanti della barra degli strumenti) hanno sicuramente più senso per avviare altre attività. – CommonsWare
@CommonsWare: tenderei ad essere d'accordo, ma Google Maps sembra violare grossolanamente questo principio su ICS, ogni voce nella lista di navigazione apre un'attività separata. Non trovo questo comportamento particolarmente strano; invece quello che mi lascia perplesso è il modo in cui sono riusciti a evitare che lo spinner ricevesse per sbaglio l'etichetta sbagliata quando si toccava un oggetto. –