Estoy tratando de establecer el índice del elemento que necesita ser seleccionado en la ruleta de forma predeterminada, pero siempre por defecto a 0 (primera partida)Barra de acciones desplegable Spinner artículo defecto es el primer artículo
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);
}
Arriba si el bloque se llama siempre. Incluso después de configurar el índice 2, la próxima vez que lo compruebo, devuelve 0.
Editar: sospecho que getSelectedNavigationIndex proporciona el índice del elemento actionBar en lugar del elemento desplegable de Spinner. Si ese es el caso, ¿qué método establece el índice del elemento seleccionado dentro del menú desplegable?
¿Has intentado simplemente probar ese método? Por ejemplo, crea spinner con tres elementos y activa el segundo sin usar ninguna condición. Funciona bien para mí. Eche un vistazo a [mi ejemplo] (http://stackoverflow.com/questions/9039045/how-to-set-active-item-in-the-action-bar-drop-down-navigation/9046460#comment11641511_9046460). – Roman
Además, intente configurar su adaptador antes de obtener/configurar el navigationIndex, es decir, actionBar.setListNavigationCallbacks (adapter, this); – brk3