Android - Korrekte Verwendung von invalidateOptionsMenu ()
Ich habe viel auf @ gesucinvalidateOptionsMenu()
und ich weiß was es macht. Aber ich kann mir kein Beispiel aus dem wirklichen Leben vorstellen, in dem diese Methode nützlich sein könnte.
Ich meine, zum Beispiel wollen wir ein neues @ hinzufügMenuItem
zu unsererActionBar
, wir können einfach das Menü von @ bekommonCreateOptionsMenu(Menu menu)
und benutze es in der Aktion einer beliebigen Taste.
Nun zu meiner eigentlichen Frage, folgt dernu Art der Verwendung voninvalidateOptionsMenu()
?
bool _OtherMenu;
protected override void OnCreate (Bundle bundle)
{
_OtherMenu = false;
base.OnCreate (bundle);
SetContentView (Resource.Layout.Main);
Button button = FindViewById<Button> (Resource.Id.myButton);
button.Click += delegate
{
if(_OtherMenu)
_OtherMenu = false;
else
_OtherMenu = true;
InvalidateOptionsMenu ();
};
}
public override bool OnCreateOptionsMenu (IMenu menu)
{
var inflater = this.SupportMenuInflater;
if(_OtherMenu)
inflater.Inflate (Resource.Menu.another_menu, menu);
else
inflater.Inflate (Resource.Menu.main_activity_menu, menu);
return base.OnCreateOptionsMenu (menu);
}
Klicken Sie auf die Schaltfläche, um ein anderes Menü anzuzeigen. Klicken Sie erneut auf die Schaltfläche und das vorherige Menü wird angezeigt.
P.S. Entschuldigung für die C # -Syntax.