Есть 2 фрагмента A и B.
Фрагмент B можно добавить в стек фрагментов следующим методом.
Fragment b = new B();
getSupportFragmentManager().beginTransaction().addToBackStack(null).replace(R.id.new_fragment_container, b).commit();
На фрагменте B есть кнопка назад. При нажатии на которую выполняется код.
FragmentManager fm = getSupportFragmentManager();
if (fm.getBackStackEntryCount() > 0)
fm.popBackStack();
else
finish();
После выполнения этого кода, выполняется метод onDetach() у фрагмента B, затем из стека достается фрагмент A.
Почему у этого фрагмента A так же срабатывает метод onDetach() в момент доставания его из стека?
Порядок вызовов методов фрагмена А, после возращения его из стека.
onCreateView()
onAtach()
onDestroyView()
ondestroy()
onDetach()
onCreateView()
onStart()
onResume()