Ho un problema di base in cui un MenuItem inizialmente nascosto non può essere commutato a visibile. Come avvertimento, sto usando ActionBarSherlock, ma volevo vedere se qualcuno sapeva se si trattava di un problema noto di Android o sto facendo qualcosa di terribile prima di verificare se si tratta di un problema all'interno di ABS. Codice come segue:Inizialmente Menu nascostoItem Not Shown Quando setVisible (true) è chiamato
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu_xml, menu);
mMenuItem = menu.findItem(R.id.menu_item);
mMenuItem.setVisible(false);
return true;
}
// Somewhere elsewhere
// MenuItem is never visible after this line is executed
mMenuItem.setVisible(true);
Ho anche cercato di spostare l'assegnazione mMenuItem e visibilità in una chiamata a onPrepareOptionsMenu ma è mostrato lo stesso comportamento.
Grazie!
È solo l'menu_item non viene visualizzato o l'intero menu_xml non viene visualizzato? Perché stai gonfiando il menu_xml, ma non vedo dove lo stai usando o aggiungendolo a qualcosa. – Scen
Non è necessario collegarlo a qualcosa, vero? Il MenuInflater si prende cura di questo? – PolandSpring
Sto usando ABS e sono stato in grado di mostrare o nascondere il menu senza problemi. Anche se il mio menu è stato aggiunto per codice, anziché gonfiato da xml. Prova il vecchio modo di aggiungere menu: menu.add (...). SetIcon(). SetShowAsAction(); – azgolfer