Отправить родительское представление дочернему элементу (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?
быть найденным.