У меня есть 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. Вот тут решали подобную задачу на англо-саксонском.
Комментариев нет:
Отправить комментарий