找到解决方案:
在每个addToBackStack中添加了一个标记.所以代码如果我调用addToBackStack它看起来像这样:
addToBackStack("Fragment1");
addToBackStack("Fragment2");
每当我把每个片段放到堆栈中.
然后我覆盖按下的后退按钮:
@Override
public void onBackPressed() {
super.onBackPressed();
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);
}
}