У меня есть HomeFragment
, что есть кнопка, которая при нажатии на вызовы следующее:Возобновление предыдущего фрагмента onBackPressed()?
Fragment frag = new CustFragment();
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.home_container, frag).commit();
Тогда в моей FragmentActivity
который фрагменты, упомянутые выше, у меня есть:
@Override
public void onBackPressed() {
getFragmentManager().popBackStack();
super.onBackPressed();
}
Вот что я я попытался, но если я нахожусь на фрагменте frag
, и я нажимаю кнопку «Назад», он не возвращается к последнему фрагменту (HomeFragment
). Вместо этого он пытается вернуться к последнему Activity, но поскольку его нет (например, предыдущее действие вызывало на нем finish()
), оно просто переходит на главный экран Android.
Что я делаю неправильно?
PS: Если я не понимаю, просто комментарий ниже, и я попытаюсь прояснить.
OnBackPressed не нужен, если вы используете addToBackStack – Kuno
@KlassenK Если он не делает этого 'super.onBackPressed();' будет непосредственно выходить из 'Activity ' – Apoorv
Попробуйте добавить« addToBackStack (null) »к вашей транзакции, как я связан в своем ответе, и полностью удалить onBackPressed. – Kuno