2016-09-16 11 views
0

Ich will wissen, ob ich den Menüpunkt Symbol nach dem Menü es initialisiert ändern kann, dies ist mein Code:Android: bearbeiten Menüpunkt beim Laden Menü fertig

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 


     super.onCreateOptionsMenu(menu, inflater); 
     menu.clear(); 
     inflater.inflate(R.menu.right_menu, menu); 
     this.menu = menu; 

     updateMenuButton(); 
    } 

public void updateMenuButton() { 

    if (menu != null) { 
     if (verificato) { 
      this.menu.getItem(R.id.action_home).setIcon(R.drawable.ic_clear_white_24dp); 
     } else { 
      this.menu.getItem(R.id.action_home).setIcon(R.drawable.ic_done_white_24dp); 
     } 
    } 

} 

Ich nenne updateMenuButton am Ende onCreateOptionsMenu, aber wenn ich versuche zu diesem zuzugreifen:

this.menu.getItem(R.id.action_home).setIcon(R.drawable.ic_clear_white_24dp); 

ich diesen Fehler:

java.lang.IndexOutOfBoundsException: Invalid index 2131624115, size is 1 

Ich denke, dass das Menü nicht hinzugefügt wurde? Wenn ich den updateMenuButton() Anruf am Ende von onCreateOptionsMenu entferne, kann ich den Menüpunkt sehen.

Wie kann ich tun?

Dank

+0

Sie etwas tun können http://stackoverflow.com/questions/7765184/how-can-i-refresh-the-actionbar-when-onprepareoptionsmenu-switched-menu-entries –

Antwort

0

Das weil "getItem (int index)" am angegebenen Index den Menüpunkt erhält. Ich glaube, Sie menu.getItem(0);

schreiben
Verwandte Themen