【发布时间】:2015-08-27 01:59:31
【问题描述】:
我最近开始转换我的 android 应用程序以使用名为 support:design 的最新支持库。
在实现新的 NavigationView 时,我偶然发现了显示所选菜单项的问题。
我的 navdrawer_menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/navigation_item_home"
android:icon="@drawable/ic_home_black"
android:title="@string/navdrawer_item_home" />
</group>
<item
android:id="@+id/navigation_subheader"
android:title="@string/navdrawer_subheader_title1">
<menu>
<group android:checkableBehavior="single">
<item
android:id="@+id/navigation_sub_item1"
android:icon="@drawable/ic_home_black"
android:title="@string/navdrawer_sub_item1" />
</group>
</menu>
</item>
</menu>
接下来我将菜单项设置为检查我的 onNavigationItemSelected:
@Override
public boolean onNavigationItemSelected(final MenuItem menuItem) {
menuItem.setChecked(true);
drawerLayout.closeDrawer(GravityCompat.START);
mDrawerActionHandler.postDelayed(new Runnable() {
@Override
public void run() {
displayView(menuItem.getItemId());
}
}, DRAWER_CLOSE_DELAY_MS);
return true;
}
如果我只在标签之间使用普通菜单项,这非常有用,但它不适用于子标题。单击子项目不会将它们设置为选中,直到我单击同一项目两次并且它不会取消选中之前检查过的任何项目。
它最终看起来像这样:
【问题讨论】:
-
这是一个android支持库错误:code.google.com/p/android/issues/detail?id=175216
标签: menu navigation menuitem submenu