Option Menu does not appear in Android

 ̄綄美尐妖づ 提交于 2019-12-12 07:27:02

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!