Ответ
Фрагменты пересоздаются системой (например, при повороте экрана), и Android автоматически вызывает конструктор без параметров. Если передавать данные через конструктор, они будут потеряны при пересоздании.
Вместо этого используйте Bundle через arguments:
// Создание фрагмента с аргументами
val fragment = MyFragment().apply {
arguments = bundleOf("key" to value)
}
// Чтение в фрагменте
val value = arguments?.getString("key")
Так данные сохраняются при пересоздании. Альтернативно можно использовать ViewModel или Dagger для инъекции зависимостей.