2016-06-01 3 views
0

У меня 2 мероприятия в моем приложении:Как вернуться к предыдущему фрагменту нажатием кнопки «Назад» телефона?

1.Launch_activity, который отображает некоторые детали

2. Home_activity, которые содержат несколько фрагментов говорят А1, А2, А3, перечисленные в качестве карт

Мой вопрос : Как вернуться к предыдущему фрагменту. Пример: если я нахожусь в фрагменте A2, когда я нажимаю его, он должен вернуться в A1, и когда я нажму обратно из A1, он должен перейти к Home_activity, где все мои фрагменты отображаются в виде карт. В настоящее время он напрямую переходит в Launch_activity, когда я нажимаю кнопку «Назад». Поскольку я новичок здесь, не могли бы вы объяснить мне, как это решить?

+0

Когда вы меняете фрагменты, просто добавьте 'addToBackStack (String)' – NSimon

+0

@NicolasSimon Что вы имеете в виду под «Когда вы меняете фрагменты»? Не могли бы вы объяснить, что я новичок здесь. Спасибо :) –

+0

См. Ниже @Masum. Он изменяет фрагменты (например, вы, вероятно, делаете) с beginTransaction(). Затем он добавляет вызов 'addToBackStack', поэтому система« выталкивает этот фрагмент »всякий раз, когда пользователь нажимает кнопку« Назад » – NSimon

ответ

1

Все ваши фрагменты совершают с помощью метода add() вместо метода replace(). Что-то вроде этого

android.app.Fragment fragment = new YourFragment(); 
FragmentManager frgManager = getFragmentManager(); 
android.app.FragmentTransaction ft = frgManager.beginTransaction(); 
ft.addToBackStack(null); 
ft.add(R.id.content_frame, fragment); 
ft.commit(); 
+1

Спасибо. Он решил проблему. Но это не работает для навигационного ящика. Когда я нажимаю, когда я нахожусь в навигационном ящике, он возвращается к Launch_activity. –

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