Wie wird die Sichtbarkeit für eine Aktionsleistenmenügruppe festgelegt?

8

AKTUALISIEREN

Ursprünglich habe ich ActionBarSherlock benutzt. Ich habe seitdem ein brandneues Projekt mit einer nativen Android-Aktionsleiste erstellt, nur um das zu testen, und ich bekomme immer noch das gleiche Problem.

Ich zeige / verstecke erfolgreich Objekte, aber keine Gruppen. Ich bin schnell zu dem Schluss gekommen, dass es einen Fehler in der ActionBar gibt und es nicht möglich ist, die Sichtbarkeit einer Gruppe programmgesteuert festzulegen

ENDE des UPDATE

Gegeben das folgende Menü Beim Zugriff auf die Gruppe bekomme ich eine Nullzeiger-Ausnahme

%Vor%

Im onPrepareOptionsMenu der relevanten Aktivität habe ich

%Vor%

Der Aufruf von mnuTextGroup.setVisible(false); löst eine Nullzeigerausnahme

aus

Wenn Sie jedoch die Suchmethode ändern, um ein Element innerhalb der Gruppe zu finden, können Sie z. MenuItem mnuTextGroup = menu.findItem(R.id.mnu_text_type); , aber das funktioniert natürlich nur für den bestimmten Gegenstand. Ich weiß, dass Gruppen für genau diesen Zweck entworfen sind, um die Sichtbarkeit von allen Elementen innerhalb der Gruppe zu aktivieren und zu deaktivieren, aber ich habe keine Möglichkeit gefunden, dies programmatisch zu tun.

    
jamesc 05.02.2014, 20:05
quelle

3 Antworten

33

Endlich die Lösung gefunden Ich musste die Methode setGroupVisible() des Menüobjekts verwenden, die an die Methode onPrepareOptionsMenu()

übergeben wurde

Das hat bei mir funktioniert.

Anstelle von

%Vor%

Das ist, was ich brauchte

%Vor%     
jamesc 12.02.2014, 23:50
quelle
0

Verwenden Sie Aktivität Wo Sie ausblenden möchten

%Vor%     
Subhalaxmi Nayak 06.02.2014 13:00
quelle
0

Das Ändern des Optionen-Menüs muss innerhalb von onPrepareOptionsMenu erfolgen, sonst funktioniert es manchmal nicht (nicht sicher, warum genau, hoffentlich kann jemand anderes das ausarbeiten):

%Vor%     
handler 09.02.2015 21:01
quelle

Tags und Links