Фрагменты, добавленные в backstack, работают отлично, но как только они возвращаются к предыдущему фрагменту, второй фрагмент не раздувается

Я изначально добавил фрагмент в свою деятельность. Есть кнопка, чей метод Onclick заменяет предыдущий фрагмент новым. Как только я нажимаю кнопку "Назад", он возвращается к предыдущему фрагменту, пока все хорошо. Но если снова попытаться нажать на эту кнопку, следующий фрагмент не будет раздут. Почему это так?

    fragmentManager = getFragmentManager();
    fragmentTransaction = fragmentManager.beginTransaction();
    MainFragment fragment = new MainFragment();
    fragmentTransaction.add(R.id.mainFragment,fragment);
    fragmentTransaction.commit();

Вышеупомянутый фрагмент кода находится в OnCreate(), и я добавил OnclickListener к кнопке из первого фрагмента в методе onPostResume(), как показано в следующем фрагменте кода из метода OnClickListner.

    fragmentTransaction = fragmentManager.beginTransaction();
    TakeDataFragment fragment=new TakeDataFragment();
    fragmentTransaction.replace(R.id.mainFragment,fragment);
    fragmentTransaction.addToBackStack(null);
    fragmentTransaction.commit();

Он прекрасно работает один раз, но после возврата из второго фрагмента к первому он не раздувает второй фрагмент даже при нажатии кнопки.

1 ответ

Проблема была решена, я использовал методы обратного вызова действия, чтобы установить onClickListners для кнопок, которые были внутри первого фрагмента. Теперь я использовал метод обратного вызова onResume() для фрагмента и работает нормально. Спасибо!

Другие вопросы по тегам