问题
I have this code to create the menu:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.tip_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case MNU_PREV:
animateTextViewsPrev();
break;
case MNU_NEXT:
animateTextViewsNext();
break;
}
return true;
}
And the XML:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/prev_tip" android:title="@string/prevTip"></item>
<item android:id="@+id/next_tip" android:title="@string/nextTip"></item>
</menu>
In a smartphone with Android 2.1 the menu is visible but in other mobile whit 4.1.1 is invisible. Somebody now how to solve it?
回答1:
What is you target Android, good to know, in android 4.0 them has redesign the menu layout.
I think you is missing super.onCreateOptionsMenu(menu);
in the call onCreateOptionsMenu
In my code I has,
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
回答2:
I was dealing with the same problem.. read some queries and documentation.. Hope this might help you.
Here's my XML file for a menu..
<item
android:id="@+id/action_send_feedback"
android:orderInCategory="100"
android:showAsAction="always"
android:title="@string/action_send_feedback"/>
<item
android:id="@+id/action_share_app"
android:orderInCategory="100"
android:showAsAction="ifRoom"
android:title="@string/action_share_app"
android:icon="@drawable/ic_action_share" />
<item
android:id="@+id/action_rate_app"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_rate_app"/>
JAVA Code goes here..
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
For android phones which have option button (at the bottom of the phone) the menu item which are showAsAction="never" comes when the button is pressed.. or else they will be shown normally on the action bar options menu..
Ref: http://developer.android.com/guide/topics/ui/menus.html#options-menu
回答3:
You can simply change the "targetSdkVersion" to 10 in manifest file
回答4:
It needs the ID in the java! :)
来源:https://stackoverflow.com/questions/12395747/option-menu-does-not-appear-in-android