Autore Topic: onMenuOpened Menu null su Lollipop  (Letto 536 volte)

Offline emaborsa

  • Utente normale
  • ***
  • Post: 274
  • Java Developer
  • Respect: +33
    • Google+
    • emaborsa
    • Mostra profilo
    • www.emaborsa.com
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Linux 10 - Win8.1 - Android 4.1.2
onMenuOpened Menu null su Lollipop
« il: 25 Gennaio 2015, 20:07:44 CET »
0
Ciao, ho il seguente codice, override per mostrare/nascondere voci del menu:

Codice (Java): [Seleziona]
@Override
public boolean onMenuOpened(int featureId, Menu menu) {
        boolean parkIsNull = park == null;
        menu.findItem(R.id.single_park_menu_details).setEnabled(!parkIsNull);
        menu.findItem(R.id.single_park_menu_weather).setEnabled(!parkIsNull);
        menu.findItem(R.id.single_park_menu_feedbacks).setEnabled(!parkIsNull);
        menu.findItem(R.id.single_park_menu_your_park).setVisible(
                        park.getOwner() == null || park.getOwner().getUsername() == null);

        return super.onMenuOpened(featureId, menu);
}

Funziona perfettamente dappertutto, a parte su Lollipop dove al primo richiamo il menu è null, mentre, se metto un if menu != null per evitare un NullPointer, alla seconda chiamata funziona a dovere.

Sapete dirmi come mai?

Post unito: 25 Gennaio 2015, 20:32:17 CET
...mah, o sono fuso io o non so. Sono più che sicuro che il tutto così funzionava. Ora noto invece che anche sugli altri dispositivi ho lo stesso problema. Spostando il tutto nel metodo onPrepareOptionsMenu funziona.
« Ultima modifica: 25 Gennaio 2015, 20:32:17 CET da emaborsa, Reason: Merged DoublePost »