【问题标题】:NavigationView items not checkingNavigationView 项目未检查
【发布时间】:2015-07-26 23:55:36
【问题描述】:

在我的NavigationView 中,我将大部分项目划分为带有子标题的部分。我通过将menu 放在item 中来实现这一点:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="single">
        <item
            android:id="@+id/drawer_top"
            android:title="@string/top"/>

        <item
            android:id="@+id/drawer_header"
            android:title="@string/header1">
            <menu>
                <item
                    android:id="@+id/drawer_item1"
                    android:title="@string/item1"/>
                <item
                    android:id="@+id/drawer_item2"
                    android:title="@string/item2"/>
            </menu>
        </item>
    </group>
</menu>

但是,这会导致第一项 drawer_top 被永久检查。其他项目不可勾选。我的onNavigationItemSelected-代码如下:

@Override
public boolean onNavigationItemSelected(final MenuItem menuItem) {
    menuItem.setChecked(true);

    ... (navigate)
    return true;
}

【问题讨论】:

  • SubMenuItems 在NavigationView 中不可检查
  • @Moinkhan 我将如何布置菜单以便它们可以检查?

标签: android androiddesignsupport navigationview


【解决方案1】:

似乎子菜单无法检查by design

这是workaround

mNavigationView.getMenu().clear();
mNavigationView.inflateMenu(R.menu.menu_drawer);
mNavigationView.getMenu().findItem(mNavItemId).setChecked(true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 2015-09-11
    相关资源
    最近更新 更多