Sto cercando di impostare l'indice della voce che deve essere selezionato nel filatore di default, ma è sempre imposta 0 (1 ° punto)ActionBar discesa Spinner voce default prima voce
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
SpinnerAdapter spinnerAdapter =
new ArrayAdapter<String>(activity, android.R.layout.simple_spinner_dropdown_item,
names);
int selectedIndex = actionBar.getSelectedNavigationIndex();
if (selectedIndex != targetIndex) {
actionBar.setSelectedNavigationItem(targetIndex);
}
Sopra se il blocco viene chiamato sempre. Anche dopo aver impostato l'indice 2, la prossima volta che lo controllo restituisce 0.
Modifica: Sospetto che getSelectedNavigationIndex fornisca l'indice dell'elemento ActionBar anziché dell'elemento a discesa Spinner. In questo caso, quale metodo imposta l'indice dell'elemento selezionato all'interno del menu a discesa?
Hai provato a testare semplicemente questo metodo? Ad esempio, crea lo spinner con tre elementi e attiva il secondo senza utilizzare alcuna condizione. Funziona bene per me. Dai un'occhiata a [il mio esempio] (http://stackoverflow.com/questions/9039045/how-to-set-active-item-in-the-action-bar-drop-down-navigation/9046460#comment11641511_9046460). – Roman
Inoltre, prova a impostare l'adattatore prima di ottenere/impostare navigazioneIndex, ad esempio actionBar.setListNavigationCallbacks (adattatore, questo); – brk3