Страницы

Поиск по вопросам

четверг, 11 июля 2019 г.

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

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


Ответ

Вот только что (минуту назад) решал аналогичную задачу.
Что нам надо:
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. Вот тут решали подобную задачу на англо-саксонском.

Комментариев нет:

Отправить комментарий