Question: 2 years and @alecnash answer works. But, in my opinion, it incorrectly assigns the onBackPressed() method ... and for the later googler:
Better to use OnBackStackChangedListener . In this approach, you do not need to redefine onBackPressed() , which you probably need for something. Together with the code from @alecnash, the listener looks like this:
getSupportFragmentManager().addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() { @Override public void onBackStackChanged() { FragmentManager fm = getSupportFragmentManager(); String stackName = null; for(int entry = 0; entry < fm.getBackStackEntryCount(); entry++){ stackName = fm.getBackStackEntryAt(entry).getName(); Log.i("BC", "stackEntry" + entry); } if (stackName == "Fragment1"){ mDrawerList.setItemChecked(0, true); } else if (stackName == "Fragment2") { mDrawerList.setItemChecked(1, true); } });
Bolic source share