ActionBarSherlock: Untermenü mit Menü-Taste öffnen

7

Ich verwende ActionBarSherlock-4.1.0-0 und möchte mein Untermenü in der Aktionsleiste mit der Hardware-Menü-Taste öffnen. Ich plane ein Update und in meiner alten Version habe ich das "normale" Menü benutzt. Ich möchte den Nutzern helfen, sich an das neue Design zu gewöhnen. Ich habe das Untermenü und das Hauptmenü:

%Vor%

und ich habe einen Listener zum Hardware-Menü Button:

%Vor%

Ich konnte keine Methode oder etwas anderes finden, das ich anrufen könnte. Ich hoffe ihr könnt mir helfen, Prost, Paul

    
Spipau 10.07.2012, 11:24
quelle

3 Antworten

11

Ich versuche diese Lösung von Frederik mit Android Actionbar und ich laufe auf das Problem, dass das Untermenü sofort öffnet und schließt. Der Wechsel zu onKeyUp hat dieses Problem gelöst.

Hier ist mein Code:

%Vor%

Ich überprüfe, ob optionsMenu != null && optionsMenu.findItem(R.id.sub_menu) != null wegen Kompatibilitätsproblemen mit älteren Android-Versionen ohne Actionbar ist. Dies ist nicht erforderlich, wenn Sie ActionBarSherlock für alle Versionen verwenden.

    
corban 20.11.2012, 14:19
quelle
4

So habe ich das Problem gelöst

%Vor%

In Ihrem Fall würde ich mir vorstellen, dass es so wäre

%Vor%

Kurz gesagt:

  • Speichern Sie das Menü in einer lokalen Variablen
  • Verwenden Sie diese Variable, um nach dem Untermenü
  • zu suchen
  • Verwenden Sie diese Variable, um die Methode performIdentifierAction
  • aufzurufen

Hoffentlich wird das funktionieren.

    
Fredrik Sundmyhr 24.07.2012 18:01
quelle
4

Ich habe immer eine NullPointerException mit der Lösung von Fredrik Sundmyhr bekommen, dann habe ich ein paar Dinge geändert und es hat funktioniert. Hier ist meine Lösung:

%Vor%

Prost, Paul

    
Spipau 07.10.2012 19:39
quelle