Thatโs all you need, it deselects and selects a new one.
navigationView.setCheckedItem(item.getItemId());
And it should go to the bottom of onNavigationItemSelected.
To make this clearer here, an example
@Override public boolean onNavigationItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.nav_home: controller.setFragment(new HomeFragment()); break; case R.id.nav_settings: controller.setFragment(new SettingsFragment()); break; case R.id.nav_logout: Intent intent = new Intent(getApplicationContext(), LoginActivity.class); intent.putExtra(autoLogin, false); startActivity(intent); break; } navigationView.setCheckedItem(item.getItemId()); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); drawer.closeDrawer(GravityCompat.START); return false; }
source share