Ho un'attività che ha 2 frammenti. Entrambi sono ListFragments ed entrambi contribuiscono MenuItems al Menu. Ho un MenuItem per il quale ho impostato l'attributo android: showAsAction per visualizzarlo come pulsante sulla ActionBar. Che funziona bene.
Ora MenuItem dipende dallo stato. È un'opzione di menu Pausa / Riprendi per mettere in pausa e riprendere una coda. Il mio problema è che non riesco a capire come impostare la sua statua iniziale quando viene creato il frammento.
Il suo stato dipende dal fatto che la coda sia in pausa o meno. Quindi ho un AsyncTask che ottiene la coda e imposta un valore booleano (in pausa) in base allo stato della coda. Chiamo onPrepareOptionsMenu per impostare il testo per la voce di menu Pausa in base all'ultimo stato noto della coda e funziona benissimo se lascio MenuItem nel menu effettivo. Tocca l'icona del menu e onPrepareOptionsMenu viene attivato e il menu viene aggiornato prima di essere visualizzato.
Il problema è che, se metto lo stesso MenuItem su ActionBar (showAsAction), come posso forzare l'aggiornamento senza dover chiamare onPrepareOptionsMenu? Devo essere in grado di farlo perché al primo avvio dell'app, invio una richiesta per ottenere la coda, ma l'attività ritorna dopo che ActionBar è stata configurata e visualizzata. Ho creato un gestore nel mio frammento che viene chiamato ogni volta che ricevo un aggiornamento della coda, ma da lì, come posso aggiornare il testo per il mio MenuItem su ActionBar? Non riesco a trovare un modo per ottenere il menu attualmente impostato per manipolarlo tranne che in onPrepareOptionMenu.
Rob W.