我有以下代码,当我向MainActivity添加或删除片段时会执行该代码。
getSupportFragmentManager().addOnBackStackChangedListener(
new FragmentManager.OnBackStackChangedListener() {
public void onBackStackChanged() {
if(getSupportFragmentManager().getBackStackEntryCount() > 1) {
getSupportActionBar().setDisplayShowHomeEnabled(true);
mDrawerToggle.setDrawerIndicatorEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mDrawerToggle.syncState();
}
else
{
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
mDrawerToggle.setDrawerIndicatorEnabled(true);
mDrawerToggle.syncState();
}
}
});
一切正常,除了我运行下面的代码返回片段。执行以下代码后,它仍然显示箭头图标而不是汉堡图标。我什至尝试删除所有片段,然后再次将家庭片段添加到堆栈中。还是同样的问题。
for(int i = 1; i < fragmentManager.getBackStackEntryCount(); ++i) {
fragmentManager.popBackStack();
}