【发布时间】:2015-08-01 09:43:14
【问题描述】:
我正在使用 android 设计支持库来创建抽屉布局。
在我的NavigationView 中,我有一个包含子菜单的菜单组。
这是我的菜单文件。
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_dashboard"
android:title="Home" />
<item
android:id="@+id/nav_messages"
android:icon="@drawable/ic_event"
android:title="Messages" />
<item
android:id="@+id/nav_friends"
android:icon="@drawable/ic_headset"
android:title="Friends" />
<item
android:id="@+id/nav_discussion"
android:icon="@drawable/ic_forum"
android:title="Discussion" />
<item android:title="Sub Menus">
<menu>
<item
android:id="@+id/sub_one"
android:icon="@drawable/ic_dashboard"
android:title="Sub item 1" />
<item
android:id="@+id/sub_two"
android:icon="@drawable/ic_forum"
android:title="Sub item 2" />
</menu>
</item>
</group>
我的项目点击监听器
navigationView.setNavigationItemSelectedListener(
new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
Log.d("Item Click : ", menuItem.getTitle().toString());
menuItem.setChecked(true);
mDrawerLayout.closeDrawers();
return true;
}
});
但是我的问题是只有前四个主菜单项得到正确检查,而子菜单点击事件也有效,但没有得到检查。相反,之前的主菜单仍处于选中状态。
【问题讨论】:
-
它是设计支持库中的问题,检查这个,code.google.com/p/android/issues/detail?id=178709,如果你仍然想做,那么检查答案stackoverflow.com/a/31047154/1168654
-
是的,这似乎是支持库中的一个问题。但是您建议的链接不是一个好的解决方案,因为每次我们单击任何项目时它都会使菜单膨胀。所以我正在等待谷歌发布下一个库
标签: android material-design androiddesignsupport navigationview