Dynamisch aktivieren / deaktivieren ausblenden / ausblenden Android ActionBar Aktionssymbol

Ich entwickle eine Android-Anwendung, die eine Standard-ActionBar verwendet.
Auf einem bestimmten Bildschirm habe ich ein Filter-Icon, das bedingt erforderlich ist,
Je nach Merkmal der dargestellten Daten, zB sind einige Daten filtrierbar
Andere nicht.
Ich kann keine Methoden auf Actionbar finden, die wahrscheinlich Kandidaten für programmgesteuertes Verstecken eines Actionbar-Action-Symbols aussehen. Wie kann ich ein Actionbar-Action-Icon aktivieren / deaktivieren?
Oder
Wie kann ich ein Actionbar-Action-Icon ausblenden / einblenden?

  • Android Studio ist unglaublich langsam und lockig
  • Sende Objekt von Service zu Aktivität (kann nicht verschachtelt werden)
  • Wiederholte Anfragen für apple-touch-icon-precomposed.png mit Apfel-Touch-Icon im Kopf gesetzt
  • Verständnis nicht, wie man GridLayout.spec () benutzt
  • Welche Größe sollte das Symbol in einem Alertdialog sein?
  • Zeichne eine skalierte Bitmap auf die Leinwand?
  • Android-Browser und Backface-Sichtbarkeit Probleme
  • Android - Animieren einer Ansicht topMargin / bottomMargin / etc in LinearLayout oder RelativeLayout
  • Android: Wie man das Bild mit dem Text auf Facebook über die Absicht teilt?
  • Samsung Plasma vs Android in-App-Abrechnung
  • Google Map mit zusätzlichen Copyright-Text auf einigen Geräten
  • Setzen Sie transparenten Hintergrund einer Bildansicht auf Android
  • 4 Solutions collect form web for “Dynamisch aktivieren / deaktivieren ausblenden / ausblenden Android ActionBar Aktionssymbol”

    Schau dir das an, es zeigt, wie man die Menüpunkte zur Laufzeit ändert.

    http://developer.android.com/guide/topics/ui/menus.html#ChangingTheMenu

    Sie können zum Beispiel das Menü als Mitgliedsvariable Ihrer Aktivität in onCreateOpionsMenu () speichern und dann so etwas machen:

    MenuItem item = mMenu.findItem(R.id.addAction); item.doSomething() 

    Wenn du etwas auf einem bestimmten Menüpunkt ändern willst.

    Wie ich verstehe, musst du das Icon entfernen, das auf der Aktionsleiste oben links angezeigt wird.

    Sie können das mit dieser einfachen Codezeile machen:

     final ActionBar actionBar = getActionBar(); actionBar.setDisplayShowTitleEnabled(false); 

    Und wenn Sie den App-Namen loswerden möchten, versuchen Sie:

     actionBar.setDisplayShowHomeEnabled(false); 

    Hoffe das hilft.

    Sie können es tun, indem Sie die Methode onPrepareOptionsMenu () überschreiben. Hier ist ein kleines Beispiel

     @Override public boolean onPrepareOptionsMenu(Menu menu) { if (count < 1) menu.getItem(4).setEnabled(false); //disable menuitem 5 if (!after) menu.getItem(1).setVisible(false); // invisible menuitem 2 invalidateOptionsMenu(); return true; } 

    Diese Methode wird jedoch nur dann aufgerufen, wenn Sie in der Aktionsleiste auf die Menütaste klicken. Wenn Sie irgendwelche Symbole in der Aktionsleiste (außer Menü-Taste) haben, klicken Sie auf, die die OnPrepareOptionsMenu () -Methode nicht auslöst. Um diese Methode manuell auszulösen, kannst du das invalidateOptionsMenu () in deinen Methoden verwenden. so was

     void yourMethod () { ... invalidateOptionsMenu(); ... } 

    Sie können auch versuchen:

     final ActionBar actionBar= getActionBar(); actionBar.hide(); 

    Es versteckt das Symbol und den Titel.

    Vergessen Sie nicht Ihren Import:

     import android.app.ActionBar; 

    Viel Glück

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.