Отправить родительское представление дочернему элементу (BottomSheetDialogFragment)

Сегодня мне интересно, возможно ли это сделать. Я имею в виду, когда я загружаю дочернее представление, отправляю родительское представление. Другими словами, я хочу работать с родителем, когда я нахожусь на дитя.

Родительский вид

  imgFilter.setOnClickListener {
            MyDialogFragment().show(requireActivity().supportFragmentManager,"filter_dialog")
        }

Детский вид

class MyDialogFragment : BottomSheetDialogFragment() {
    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
    val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog

    val view = View.inflate(context, R.layout.filter_sheet_layout, null)

    val linearLayout = view.findViewById<LinearLayout>(R.id.root)
    val params = linearLayout.layoutParams as LinearLayout.LayoutParams
    params.height = getScreenHeight()
    linearLayout.layoutParams = params

    backArrowClick(view)
    hideKeyboard()


    dialog.setContentView(view)
    mBehavior = BottomSheetBehavior.from(view.parent as View)

    parentFragment?.view?.findViewById<TextView>(R.id.name_store)?.text = "Hello World"

    return dialog
}
}

Нет, если это возможно, или если у вас есть другое предложение, я здесь, чтобы послушать и изучить.

Спасибо огромное!

1 ответ

Решение

Проблема в том show метод получает в качестве аргумента диспетчер фрагментов из операции, поэтому не может найти родительский фрагмент

MyDialogFragment().show(childFragmentManager, "filter_dialog")

Должен позволить parentFragment?.view? быть найденным.

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