主菜单添加按钮不显示

时间:2015-10-21 19:40:18

标签: android android-studio

因此,根据我使用的android studio的版本,它带有不同的模板。一个带有main_menu.xml文件,允许您向主页添加项目(按钮)。好吧,最近我没有使用main_menu.xml的模板,所以我手动添加了.xml文件并添加了我的代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context=".MainActivity">
    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        app:showAsAction="always"
        android:title="Hello" />

    <item
        android:id="@+id/action_mainMenu2"
        android:icon="@drawable/ic_add_circle_white_24dp"
        android:orderInCategory="10"
        android:title="Main Menu"
        app:showAsAction="ifRoom|withText" /> />

</menu>

我的mainactivity.java

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle presses on the action bar items
    switch (item.getItemId()) {
        case R.id.action_mainMenu2:
            startActivity(new Intent(MainActivity.this, Main2Activity.class));

        case R.id.action_mainMenu:
            startActivity(new Intent(MainActivity.this, Main2Activity.class));
            return true;
        case R.id.action_settings:

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

可悲的是,菜单不会添加任何项目

3 个答案:

答案 0 :(得分:1)

确保您已覆盖onCreateOptionsMenu。引用文档:

  

初始化Activity的标准选项菜单的内容。您应该将菜单项放入菜单中。仅在第一次显示选项菜单时调用此选项。默认实现使用标准系统菜单项填充菜单。

如下所示就足够了:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.you_menu_file, menu);
    return true;
}

答案 1 :(得分:1)

您还必须覆盖onCreateOptionsMenu(Menu menu)生命周期方法。有关详细信息,请参阅documentation

答案 2 :(得分:0)

删除android工作室推荐的“xmlns:app =”http://schemas.android.com/apk/res-auto“是错误的。删除它并使用android而不是app。

tools:context=".MainActivity">
<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:showAsAction="always"
    android:title="Hello" />

<item
    android:id="@+id/action_mainMenu2"
    android:icon="@drawable/ic_add_circle_white_24dp"
    android:orderInCategory="10"
    android:title="Main Menu"
    android:showAsAction="ifRoom|withText" /> />