Wie parametriere ich Optionen eines Menüs auf Android?

8

Ich möchte einige Optionen eines Menüs in einer Android-Anwendung anzeigen / ausblenden, abhängig von einigen Zeichenfolgen, die ich in strings.xml file auf wahr / falsch setzen werde.

Als Beispiel werde ich diese Zeichenfolgen in strings.xml file:

haben %Vor%

In diesem Fall müssen also nur option2 und option3 angezeigt werden.

Auf der anderen Seite, ich meine, im Code habe ich folgendes versucht:

%Vor%

Aber option1 wird immer noch auf dem Menü angezeigt.

Was soll ich tun, um diese Optionen zu parametrisieren? Ich könnte diese Optionen einfach entfernen, aber ich möchte, dass in Zukunft, wenn meine Kunden diese Optionen wieder aktiv haben möchten, ich es leicht machen könnte, den falschen Wert auf wahr zu setzen.

BEARBEITEN: Hier ist mein Menü:

%Vor%

LETZTE AKTUALISIERUNG

Ich habe bemerkt, dass ich NullPointerException bekommen habe, weil der Name des Menüs falsch war. Ich habe es behoben und jetzt gibt es mir keinen Fehler.

Aber mein Problem kommt, weil ich zwei verschiedene Layouts habe, die zwei verschiedene Menüs enthalten (eins in jedem Layout) und ich jedes Layout aufblasen, abhängig von einer Zeichenfolge, die beim Login kommt.

Wenn Sie beispielsweise bedenken, dass die Zeichenfolge zum Auffüllen des ersten Layouts "Hallo" ist, zeige ich die Layouts wie folgt auf onCreate function von MainActivity :

an %Vor%

Wie kann ich die Optionen beider Menüs parametrisieren, wenn also die erste angezeigt wird und ich eine Option ausblenden möchte, kann ich auf diese Option dieses Menüs verweisen?

Vielen Dank im Voraus!

    
Francisco Romero 09.05.2017, 10:47
quelle

3 Antworten

3

Schließlich habe ich festgestellt, wo meine Probleme waren.

Das Problem kam, weil ich nicht bemerkt habe, dass onCreateOptionsMenu und onPrepareOptionsMenu nicht verwendet wurden, also löschte ich sie.

Da ich mein Menü in NavigationView benutzt habe, musste ich nach dem Aufblasen der NavigationView auf meiner onCreate Funktion meiner MainActivity Klasse die folgende Anweisung verwenden:

%Vor%

Dort hatte ich kein Problem, meinen Menüpunkt erfolgreich zu verstecken.

    
Francisco Romero 26.05.2017, 12:08
quelle
4

Wenn Sie Strings verwenden (z. B. s1 & amp; s2), müssen Sie sie folgendermaßen vergleichen:

if (s1.equals (s2)) {...}

Btw .: Sie können auch die gemeinsamen Einstellungen in der Android-Dokumentation betrachten, um eine sauberere Lösung zu erhalten. Dort können Sie boolesche Variablen für die verschiedenen Menüoptionen definieren.

    
user3728999 09.05.2017 10:51
quelle
0

Versuchen Sie dies, wenn Sie einen bestimmten Menüeintrag für eine bestimmte Aktivität ausblenden möchten.

%Vor%     
Aparajita Sinha 26.05.2017 11:45
quelle

Tags und Links