Как Android сказать что есть Fragment с конструктором

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

Ответ

Фрагменты должны иметь пустой конструктор по умолчанию, так как система Android может воссоздавать их автоматически (например, при повороте экрана). Если нужно передать параметры, используйте newInstance():

class MyFragment : Fragment() {
    companion object {
        fun newInstance(param: String): MyFragment {
            val fragment = MyFragment()
            fragment.arguments = bundleOf("KEY" to param)
            return fragment
        }
    }

    override fun onCreateView(...) {
        val param = arguments?.getString("KEY")
        // ...
    }
}

Параметры сохраняются в Bundle через arguments. Это гарантирует корректное восстановление состояния.