Ответ
Фрагменты должны иметь пустой конструктор по умолчанию, так как система 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. Это гарантирует корректное восстановление состояния.