не принадлежит этому FragmenetManager с использованием компонента навигации - PullRequest
0 голосов
/ 15 апреля 2020

Я использую компонент Навигация

Используя второй ответ из этого вопроса .

У меня есть два фрагмента, FormFragment и DialogFragment, пытающихся получить результаты обратно в FormFragment из DialogFragment, и это приводит к сбою приложения.

Внутри FormFragment

listener = View.OnClickListener {
    //val transaction = childFragmentManager.beginTransaction() // failts too
    val transaction = activity!!.supportFragmentManager.beginTransaction()
    val dialog = MyDialogFragment()
    dialog.setTargetFragment(this@FormFragment, 1) // crashes
    transaction.add(dialog, "dialog").commit()
}

MyDialogFragment

ok.setOnClickListener {
    targetFragment?.onActivityResult(1, Activity.RESULT_OK, Intent().putExtra("data", 1))
    dialog?.dismiss()
}

ошибка

объявленный целевой фрагмент FormFragment {687bae} (88c939de-9a1e) -458 c -bbf c -74d073eb06f2) id = 0x7f0800c9}, который не принадлежит этому FragmentManager!


, в этой строке происходит сбой

dialog.setTargetFragment ( this@FormFragment, 1)

...