Auf den ActionBar icon zugreifen wenn ich aus einer activity zurückkomme

  • 1 Antworten
  • Letztes Antwortdatum
T

the_time

Ambitioniertes Mitglied
0
Hallo,
ich versuche das icon vom toggle button zu wechseln wenn ich aus einer activiy zurückkomme aber ich habe ds Problem dass `onCreateOptionsMenu()` and `onPrepareOptionsMenu()` nicht aufgerufen werden. Wie kann ich den actionbar in meiner MainActivity anspreche um das icon vom toggle button zu wecheln wenn ich aus einer anderen activity zurückgekommen bin.

So kriege ich zusätzlich zu meinem urspünglichen actionbar, einen neunen actionbar ganz links:
Code:
        ActionBar actionBar = getSupportActionBar();
        if(serviceStatus){
            actionBar.setIcon(R.drawable.on);
            actionBar.setDisplayShowHomeEnabled(true);
            System.out.println("ABC MainActivity onStart() was invoked inside the Handler." + serviceStatus);
        }else{
            actionBar.setIcon(R.drawable.off);
            actionBar.setDisplayShowHomeEnabled(true);
            System.out.println("ABC MainActivity onStart() was invoked inside the Handler." + serviceStatus);
        }

Also ich kann meinen "MenuItem item = menu.findItem(R.id.menu_toggle);" so "getSupportActionBar()" nicht ansprechen denn es wird einen neuen actionbar mit "getSupportActionBar" erstellt.


Schöne Grüße,
the_time


Code:
public class MainActivity {
boolean serviceStatus = true;
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
        System.out.println("ABC MainActivity onCreateOptionsMenu was invoked.");  
        return true;
    }

    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        System.out.println("ABC MainActivity onPrepareOptionsMenu was invoked.");
        MenuItem item = menu.findItem(R.id.menu_toggle);
            if(serviceStatus){
                item.setIcon(R.drawable.on);
            }else{
                item.setIcon(R.drawable.off);
            }
              
        return super.onPrepareOptionsMenu(menu);
    }
}
 
Zuletzt bearbeitet:
Ich musste mit "invalidateOptionsMenu()" arbeiten in the onStart() um die onPrepareOptionsMenu(Menu) aufzurufen
 
Zurück
Oben Unten