工具栏菜单膨胀问题

时间:2017-01-27 07:08:34

标签: android menu android-menu

我在工具栏中创建了菜单。但有时菜单图标是可见的,有时在活动加载时不可见。我还想实现子菜单的多选

这是我的menu.xml文件代码

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto" >

    <item
        android:id="@+id/language_menu"
        android:icon="@drawable/ic_language_white"
        android:title="Language"
        app:showAsAction="always">

        <menu>

        <group
            android:id="@+id/group2"
            android:checkableBehavior="all"
            >
            <item
                android:id="@+id/submenu1"
                android:title="English"
                android:orderInCategory="1"
                app:showAsAction="never"/>
            <item
                android:id="@+id/submenu2"
                android:title="Hindi"
                android:orderInCategory="1"
                app:showAsAction="never"/>
            <item
                android:id="@+id/submenu3"
                android:title="Gujarati"
                android:orderInCategory="1"
                app:showAsAction="never"
                />
        </group>

    </menu>

</item>

这是我的用于充气菜单的java代码

Toolbar toolbarMain = findViewById(R.id.toolbar_main);
setSupportActionBar(toolbarMain);

和菜单创建方法

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

使用此代码,我可以实现菜单,但菜单图标有时显示,有时不显示。

1 个答案:

答案 0 :(得分:0)

我认为您仍应在onCreateOptionsMenu内定义班级MenuInflater

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