Search code examples
androidandroiddesignsupportnavigationview

How to set default checked item in NavigationView?


When I click on the NavigationView item its selection color changes. But I don't know how to check the first element by default.

private void setupDrawerContent(NavigationView navigationView) {
  navigationView.setNavigationItemSelectedListener(
    new NavigationView.OnNavigationItemSelectedListener() {
      @Override
      public boolean onNavigationItemSelected(MenuItem menuItem) {
        menuItem.setChecked(true);
        mDrawerLayout.closeDrawers();
        return true;
     }
   });
}

Solution

  • add this

    android:checked="true"
    

    to your first item in the drawer menu. For example take a look at mine:

    <?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_home"
            android:checked="true"   //default set to check
            android:icon="@drawable/ic_action_home"
            android:title="@string/home"/>
    
        <item
            android:id="@+id/drawer_favourite"
            android:icon="@drawable/ic_action_favorite_black"
            android:title="@string/favourite"/>
    
        <item
            android:id="@+id/drawer_recent"
            android:icon="@drawable/ic_action_recent"
            android:title="@string/recent"/>
    
        <item
            android:id="@+id/drawer_settings"
            android:icon="@drawable/ic_action_settings"
            android:title="@string/settings"/>
    
    </group>