[OFFEN] Menu zeigt keine Icons nur ...

kukuk

kukuk

App-Anbieter (kostenlos)
29
Hallo alle zusammen, ich habe gerade ein riesen Problem mit meinem Menü in der ActionBar. Mir wird dieses Menü nur als ... angezeigt wo man draufklicken kann und dann erscheint der Eintrag ohne Icon. Ich will aber nur das Icon in der ActionBar haben. Ich habe auch schon die Code-Zeilen für den NavDrawer entfernt, allerdings ohne Erfolg. Es wird nur ... angezeigt. Hat noch jemand eine Idee was ich falsch mache?

Code:
@Override
public boolean onCreateOptionsMenu(Menu menu) {

   getMenuInflater().inflate(R.menu.main, menu);


   return true;
}


@Override
   public boolean onOptionsItemSelected(MenuItem item) {
      // toggle nav drawer on selecting action bar app icon/title
      if (Global.mDrawerToggle.onOptionsItemSelected(item)) {
         return true;
      }
      // Handle action bar actions click

         switch (item.getItemId()) {
            case R.id.beta_teilnahme:
               toast_information("");
break;


            default:
               return super.onOptionsItemSelected(item);
         }
         return true;
      }


@Override
public boolean onPrepareOptionsMenu(Menu menu) {


   //if nav drawer is opened, hide the action items
   try {
      boolean drawerOpen = Global.mDrawerLayout.isDrawerOpen(Global.mDrawerList);

      menu.findItem(R.id.beta_teilnahme).setVisible(!drawerOpen);

   } catch (Exception e) {

   }
   return super.onPrepareOptionsMenu(menu);
}


<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:myapp="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/beta_teilnahme"
        android:icon="@drawable/main_icon1_beta"
        android:title="Beta-Teilnahme"
        myapp:showAsAction="always" />
</menu>
 
Was für eine Klasse ist Global?

Wenn ich mich nicht irre, wirft der Code an folgender Stelle ein Exception:

try {
boolean drawerOpen = Global.mDrawerLayout.isDrawerOpen(Global.mDrawerList); // Exception

menu.findItem(R.id.beta_teilnahme).setVisible(!drawerOpen);

} catch (Exception e) {

}
 
  • Danke
Reaktionen: kukuk
Global ist eine "öffentliche" Klasse, in der ich alle Variablen reinpacke, die an verschiedenen Stellen benötigt werden.

Es funktioniert jetzt. Ich hatte im HomeFragment kein onCreateOptionMenu festgelegt. Sondern nur in der MainActivity
 
Ist deine Klasse Global ein Singleton? Wenn ja, benutze dafür besser die Klasse Application.
 
  • Danke
Reaktionen: kukuk

Ähnliche Themen

5
Antworten
22
Aufrufe
1.415
590239
5
R
  • Gesperrt
  • roland-senior
Antworten
2
Aufrufe
796
Fulano
Fulano
A
Antworten
17
Aufrufe
1.848
starbright
S
Zurück
Oben Unten