Получил интересное поведение при использовании ленивой инициализации, во фрагменте:
private val button by lazy { requireView().findViewById<Button>(R.id.button) }
Перехожу на экран вперед а потом назад на этот же экран и уже OnClickListener не срабатывает и вообще никакое свойство не задается у button!
Когда используешь
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
val button = view.findViewById<Button>(R.id.button)
// ...
Все работает как и должно.
Не могу понять почему так происходит? Ведь айдишник тот же и ссылка вроде не нул, почему так?