Значок стрелки вместо значка гамбургера на backstackchange
У меня есть приведенный ниже код, который выполняется, когда я добавляю или удаляю фрагменты в 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(); }
Что я уже пробовал:
Я даже попытался удалить все фрагменты и снова добавить домашний фрагмент в стек. Все та же проблема.
User 7429338
Имя переменной предполагает, что fragmentManager не может быть SupportFragmentManager, это правда?
Yesudass Moses
Его supportFragmentManager. Но разве это имеет значение ??