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

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

Ответ

Метод add вызывается у объекта FragmentTransaction, который получается через FragmentManager.beginTransaction().

Пример:

supportFragmentManager.beginTransaction()
    .add(R.id.container, MyFragment())
    .commit()

Ключевые моменты:

  1. add добавляет фрагмент поверх существующих
  2. Контейнер (R.id.container) должен быть FrameLayout или аналогичным
  3. Для замены фрагмента вместо add используют replace
  4. Транзакция становится активной только после commit()