Сброс ленивых свойств и значений Kotlin: сбрасываемый ленивый делегат

Так что я используюkotlin для андроида и при раздутии просмотров я склонен делать следующее:

private val recyclerView by lazy { find<RecyclerView>(R.id.recyclerView) }

Этот метод будет работать. Тем не менее, есть случай, в котором это будет ошибка приложения. Если это фрагмент, и фрагмент отправляется в backstack,onCreateView будет вызван снова, и иерархия представления фрагмента будет воссоздана. Это означает, что ленивый инициированный recyclerView укажет на старое представление, которое больше не существует.

Решение таково:

private lateinit var recyclerView: RecyclerView

И инициализировать все свойства внутриonCreateView.

У меня вопрос, есть ли способ сбросить ленивые свойства, чтобы они могли быть инициализированы снова? Мне нравится тот факт, что все инициализации выполняются в начале класса, помогает поддерживать организованность кода. Конкретная проблема находится в этом вопросе:kotlin фрагмент андроида пустой рециклер вид сзади

Ответы на вопрос(3)

Ваш ответ на вопрос