Yesudass Moses Ответов: 0

Значок стрелки вместо значка гамбургера на 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. Но разве это имеет значение ??

0 Ответов