Какие методы у Activity вызываются при замене одного Fragment на другой

«Какие методы у Activity вызываются при замене одного Fragment на другой» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

При замене фрагмента в Activity вызываются следующие методы:

  1. Для старого фрагмента:
  • onPause()
  • onStop()
  • onDestroyView()
  1. Для нового фрагмента:
  • onAttach()
  • onCreate()
  • onCreateView()
  • onViewCreated()
  • onActivityCreated()
  • onStart()
  • onResume()

Пример замены фрагмента:

supportFragmentManager.beginTransaction()
    .replace(R.id.container, NewFragment())
    .addToBackStack(null)
    .commit()

Если используется addToBackStack(), при нажатии назад будет восстановлен предыдущий фрагмент с вызовом onCreateView() и последующих методов. Без addToBackStack() старый фрагмент будет уничтожен полностью.