选项菜单未出现在Android中

时间:2012-09-12 20:28:12

标签: android android-xml android-menu android-optionsmenu

我有这段代码来创建菜单:

@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;
}

和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>

在使用Android 2.1的智能手机中,菜单是可见的,但在其他移动设备中,4.1.1是不可见的。 有人现在该如何解决?

4 个答案:

答案 0 :(得分:5)

你是什么目标Android,很高兴知道,在Android 4.0中他们重新设计了菜单布局。

我认为您在通话super.onCreateOptionsMenu(menu);

中遗漏了onCreateOptionsMenu

在我的代码中,

public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}

答案 1 :(得分:2)

我正在处理同样的问题..阅读一些查询和文档..希望这可能会对你有帮助。

这是我的菜单的XML文件..

<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代码就在这里..

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

对于拥有选项按钮(在手机底部)的Android手机,菜单项是showAsAction =&#34;从不&#34;按下按钮时出现...或者它们将在操作栏选项菜单上正常显示..

参考:http://developer.android.com/guide/topics/ui/menus.html#options-menu

答案 2 :(得分:0)

您只需在清单文件中将“targetSdkVersion”更改为 10

答案 3 :(得分:-4)

它需要java中的ID! :)