2012-09-28 16 views
10

Ho un elenco a discesa nella barra delle azioni come elenco di navigazione. Utilizzo di ActionBar.OnNavigationListener e onNavigationItemSelected per rilevare quando l'utente ha fatto clic sull'elemento nell'elenco di selezione a discesa della barra delle azioni e ciò funziona correttamente.Barra delle azioni discesa evento click

Tuttavia, onNavigationItemSelected è non chiamato se l'utente ha cliccato sul medesimo oggetto di quello che è attualmente selezionato nell'elenco a discesa! (Ho bisogno di questo esatto funzionamento per far funzionare correttamente l'app)

Quindi esiste un modo per rilevare il clic su qualsiasi parte dell'elenco a discesa nella barra delle azioni?

C'è un modo per referenziare in qualche modo la visualizzazione a discesa nella barra di azione e quindi impostare onclicklistner su quell'oggetto a discesa nella barra di azione. Come quando usiamo l'elenco a discesa nel layout standard?

risposta

1

Il problema qui è lo stesso di qualsiasi altro Spinner. Il workariund per questo è chiaramente descritto qui: Spinner : onItemSelected not called when selected item remains the same

Tuttavia, per l'ActionBar la soluzione può essere un po 'complicato (ad eccezione di quando si utilizza il ActionBarSherlock e può esplicitamente pasticciare con il suo codice)

Problemi correlati