Фрагменты, добавленные в 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() для фрагмента и работает нормально. Спасибо!