我最近開始轉換我的Android應用程序,使用最新的支持庫稱爲支持:設計。Android支持:設計NavigationView檢查菜單子項
在實現新的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支持庫的bug:https://code.google.com/p/android/issues/detail?id=175216 – sromku