#kotlin #bottom-sheet #android-bottomsheetdialog #bottomsheetdialogfragment
#kotlin #нижняя таблица #android-bottomsheetdialog #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.
parentFragment?.view
это то, что вам нужно?2. parentFragment = null:c
3. Попробуйте с
MyDialogFragment().show(childFragmentManager, "filter_dialog")
4. БОЛЬШОЕ ВАМ СПАСИБО, ВЫ СДЕЛАЛИ МОЙ ДЕНЬ
5. Хотите вернуть услугу, проголосовав за ответ?
Ответ №1:
Проблема show
в том, что метод получает в качестве аргумента диспетчер фрагментов из действия, поэтому он не может найти родительский фрагмент
MyDialogFragment().show(childFragmentManager, "filter_dialog")
Должно позволять parentFragment?.view?
находить.