2016-01-12 2 views
0

У меня есть AppCompatActivity деятельности под названием MainActivity со следующим кодом помещенного на onCreate методе, чтобы показать/скрыть назад и кнопку менюПочему моя кнопка назад ничего не делает?

getSupportFragmentManager().addOnBackStackChangedListener(
    new FragmentManager.OnBackStackChangedListener() { 

    @Override 
    public void onBackStackChanged() { 
     toggle.setDrawerIndicatorEnabled(
      getSupportFragmentManager().getBackStackEntryCount() == 0); 

     getSupportActionBar().setDisplayHomeAsUpEnabled(
      getSupportFragmentManager().getBackStackEntryCount() > 0); 
    } 
}); 

Это моя единственная деятельность, я использую фрагменты для различных точек зрения. Когда я нажимаю на нее, кнопка «Назад» отлично отображается, когда она подходит, но ничего не делает.

Должен ли я поместить код на фрагменты? Я проверил много других подобных вопросов, но я не в состоянии обнаружить, что пропустили

EDIT

Многие решения просят отменить onOptionsItemSelected на фрагмент или операцию, но этот метод не вызывается, когда я нажимаю на спине на панели инструментов.

EDIT 2

Если я строка комментария

toggle.setDrawerIndicatorEnabled(getSupportFragmentManager().getBackStackEntryCount() == 0); 

затем снова кнопку мыши открывает меню навигации.

+0

Возможный дубликат [Переключение между Android навигации Ящика изображения и Up кареткой при использовании фрагментов] (http://stackoverflow.com/questions/17258020/switching-between-android-navigation-drawer-image-and-up-caret-when-using-fragme) –

+0

Вы пишете код onBackPRessed() в MainActivity. – Pitty

+0

Полное решение здесь: http://stackoverflow.com/a/34026438/4409409 –

ответ

0

Вам придется вручную обрабатывать кнопку домой, как показано здесь: catch toolbar home button click event

затем загрузить предыдущий фрагмент из backstack: Get Fragment from backstack

+0

Боюсь, что это не сработает. 'onBackPressed' не вызывается, когда я нажимаю значок на панели инструментов – StackOverflower

+0

Извините, что я неправильно понял. Я обновил свой ответ. – datalost

+0

Я боюсь, что я застрял с 'onOptionsItemSelected', который не был вызван в действие – StackOverflower

Смежные вопросы