Как получить объект-держатель фрагмента

Здравствуйте, я создаю класс, реализующий BottomSheetDialogFragment с динамическим содержимым. Содержимое - Fragment. Поэтому при инициализации BottomSheet я передаю объект фрагмента и прикрепляю его к определенному идентификатору контейнера внутри этого BottomSheetDialogFragment. Выглядит так:

private fun attachContentFragment() {
        val transaction = childFragmentManager.beginTransaction()
        transaction.apply {
            replace(R.id.flContent, state.layoutContent)
            commit()
        }
}

state.layoutContent - мой прикрепленный фрагмент

Мне нужно отклонить BottomSheet, если каждое действие вызывается в этом фрагменте. Насколько я знаю, мне нужно получить объект BottomSheet, который держит меня (фрагмент), и отклонить его.

Но как я могу получить этот объект BottomSheet?

Спасибо

0
0
260
1

Ответы 1

Итак, технически это fragment внутри ситуации fragment. Думаю, здесь есть несколько решений:

  1. Позвоните Activity от вашего ребенка fragment. BottomSheetDialogFragment подпишется на Activity для таких событий и будет реагировать на них.
  2. Получите экземпляр BottomSheetDialogFragment, вызвав соответствующий FragmentManager (возможно, Activity). Вы можете получить, например, экземпляр фрагмента byTag.
  3. Или вы можете вызвать в getParentFragment от дочернего Fragment.

Другие вопросы по теме