android - Wie öffne ich das Optionsmenü programmatisch?



5 Answers

Offenbar macht das Ausführen in onCreate die App kaputt, da Activity noch nicht an ein Fenster angehängt ist. Wenn du es so machst:

@Override
public void onAttachedToWindow() {
    openOptionsMenu(); 
};

...Es klappt.

android button menu android-activity

Ich möchte das optionsMenu programmgesteuert ohne einen Klick auf die Menü-Taste vom Benutzer öffnen. Wie würde ich das tun?




Setzen Sie diese Codezeile in Ihre onResume (), dies sollte helfen!

new Handler().postDelayed(new Runnable() { 
   public void run() { 
     openOptionsMenu(); 
   } 
}, 1000); 



Wenn Sie AppCompatActivity verwenden

getSupportActionBar().openOptionsMenu();



Wenn du in deiner Sicht bist, kannst du schreiben

    ((Activity)getContext()).openOptionsMenu();



Das Deklarieren von toolbar.showOverflowMenu() in onClick funktioniert nicht. openOptionsMenu() auch nicht für mich funktioniert. Stattdessen ist der folgende Weg für mich gearbeitet,

new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                toolbar.showOverflowMenu();
            }
        }, 500);



Related