Android: cómo invocar onNavigationItemSelected cuando se selecciona de nuevo el elemento giratorio
Estoy utilizando el hilandero en la barra de acción para la navegación. El problema es que no se llama onNavigationItemSelected cuando el elemento seleccionado es el mismo que el seleccionado anteriormente. He mirado las preguntas similares aquí y aquí y aquí pero ninguno de ellos proporciona la solución de trabajo, específico a la gota abajo requerida navegación dentro de la barra de la acción.
Estoy usando el siguiente código:
- Cómo configurar el color de texto de los elementos en Spinner Android
- El indicador de Spinner no se muestra
- Añade más espacio entre los elementos de Android Spinner sin estilo personalizado?
- Android - Cómo mostrar un spinner con valor pero mostrar otro diferente
- Spinner error en SetOnItemSelectedListener
public class TestSpinner extends Activity implements ActionBar.OnNavigationListener { private Integer mPosition; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final ActionBar actionBar = getActionBar(); final String[] EventTypes = getResources().getStringArray( R.array.spinner_items); mPosition = -1; ArrayAdapter<String> adapter = new ArrayAdapter<String>( actionBar.getThemedContext(), android.R.layout.simple_spinner_item, android.R.id.text1, EventTypes); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); actionBar.setListNavigationCallbacks(adapter, this); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
….
@Override public boolean onNavigationItemSelected(int position, long id) { if (mPosition > -1) { mPosition = position; // execute required code on spinner item selection return true; } else { mPosition = 0; return false; } }
Tenga en cuenta que utilizo el indicador mPosition para evitar que onNavigationItemSelected ejecute el código cuando se crea la barra de acción por primera vez. Me pregunto si hay una manera más elegante, recomendada de hacer eso?
Sin embargo, la pregunta clave es, ¿cómo generar una devolución de llamada al onNavigationItemSelected cuando se vuelve a seleccionar el mismo elemento giratorio en la barra de acciones?
- Alinear una ruleta subrayada en la misma línea junto al texto de edición
- Android Spinner dropDownHorizontalOffset no funciona pero dropDownVerticleOffest es
- Cómo agregar una pista en spinner en XML
- Disposición de Android: Alinear un TextView y un Spinner
- ¿Cómo puedo cambiar o disminuir el tamaño de la ruleta de Android?
- Selección de Android Spinner
- ¿Cómo pasar datos de spinner de una actividad a otra?
- Alinear la flecha giratoria a la derecha del elemento seleccionado actualmente
- ActionBarSherlock + Tabbed Fragments + ViewPager insider un fragmento
- Rendering animación Maya en Android?