Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ActionBar Action Items not showing [duplicate]

i have a very simple code, but a problem that I cannot solve even after long google searching. I want to have some Action Items in my ActionBar, but whenever I run the App, all I see is a ActionBar with the App logo and the title, but no Action Items.

It would be great, if you could help me, probably I am just missing the most obvious thing ;)

Thats the method in my ActionBarActivity:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_activity_actions, menu);
    return super.onCreateOptionsMenu(menu);
}

And this is the relevant .xml file for the ActionBar (named main_activity_actions.xml):

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_search"
      android:icon="@drawable/ic_action_search"
      android:title="@string/action_search"
      android:showAsAction="always"  />
<item android:id="@+id/action_compose"
      android:icon="@drawable/ic_action_compose"
      android:title="@string/action_compose" 
      android:showAsAction="always"/>
</menu>
like image 468
Kilian Batzner Avatar asked Jul 28 '13 21:07

Kilian Batzner


2 Answers

This is because if you use the support AppCompat ActionBar library and ActionBarActivity you should create your menus in a different than the standard way of creating XML menus in ActioBarSherlock or the default ActionBar.

So try this code:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:app="http://schemas.android.com/apk/res-auto">
      <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"
          app:showAsAction="always"  />
      <item android:id="@+id/action_compose"
          android:icon="@drawable/ic_action_compose"
          android:title="@string/action_compose" 
          app:showAsAction="always"/>
</menu>

and report if this works.

Note: check the extra prefix xmlns:app which should be used instead!

like image 115
Manolis Proimakis Avatar answered Oct 20 '22 07:10

Manolis Proimakis


May sure that you are not using a Style that is rendering your Action Items invisible.

For example if you are using "android:Theme.Holo.Light.DarkActionBar" you get a black action bar so you won't be able to see your black items.

Switch to "android:Theme.Holo.Light" and they will show up.

Look in the file (for example) res/values-v14/styles.xml

like image 41
Helge Mortensen Avatar answered Oct 20 '22 08:10

Helge Mortensen