Как реализовать переход назад по fragment-ам в navigation drawer

Рейтинг: 3Ответов: 1Опубликовано: 02.04.2015

У меня есть navigation drawer . В listView я выбираю item заменяю fragment1, в fragment1 из списка выбираю item и заменяю fragment1 на fragment2...

Как вернуться назад по фраментам? По нажатию левой верх кнопки открывается navigation drawer. Это все происходит в одном activity. Правильно ли я это делаю? Можно пример?

Ответы

▲ 2Принят

Вот только что (минуту назад) решал аналогичную задачу.

Что нам надо:

1) При запуске активити показывать гамбургер.

2) При замене фрагмента поменять гамбургер на стрелку.

3) При нажатии на стрелку вернуть предыдущий фрагмент

4) Опять показать гамбургер.


Делаем:

1) Если ND сделан правильно, то гамбургер уже показан при запуске.

2) Показать стрелку можно так:

mDrawerToggle.setDrawerIndicatorEnabled(false);

3, 4) Она будет реагировать на нажатия в onOptionsItemSelected() по id R.id.home

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
        case android.R.id.home:
            //При нажатии вызывается обработчик кнопки назад
            //Он по умолчанию должен будет вернуться по списку фрагментов назад
            onBackPressed();
            //Надо вернуть иконку гамбургера
             mDrawerToggle.setDrawerIndicatorEnabled(true);
        return true;
    }
}

P.S. Вот тут решали подобную задачу на англо-саксонском.