У какого класса вызывается метод replace при навигации с помощью Fragment

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

Ответ

Метод replace вызывается у объекта FragmentTransaction. Он используется для замены текущего фрагмента в контейнере на новый.

Пример:

supportFragmentManager.beginTransaction()
    .replace(R.id.fragment_container, MyFragment())
    .addToBackStack(null) // опционально, для добавления в back stack
    .commit()

Нюансы:

  • replace удаляет текущий фрагмент и добавляет новый.
  • Если не вызвать addToBackStack, нажатие "Назад" закроет активность.
  • Контейнер (R.id.fragment_container) должен быть FrameLayout или аналогичным.