kotlin android фрагмент диалога, вызываемый из фрагмента, не связанного с вызывающим абонентом - PullRequest
2 голосов
/ 27 мая 2020

BottomSheetDialogFragment

мой стек на данный момент таков: основное занятие List1 (фрагмент селектора, начало навигации) карта (фрагмент детали, пункт назначения) list2 (фрагмент селектора, пункт назначения навигации) YesNoDialog (фрагмент BottomSheetDialogFragment)

list1, card и list2 находятся на графике навигации

Я реализовал интерфейс во фрагменте list2 и пытаюсь выполнить обратный вызов list2 в YesNoDialog. независимо от того, какой метод используется (onAttach onViewCreated onClick в диалоговом окне, нет экземпляра yesNoListener

try{
        Log.d(QuestionGroupList.TAG, parentFragmentManager.findFragmentByTag(QuestionGroupList.TAG)?.tag + "tag")
        yesNoListener = (parentFragmentManager.findFragmentByTag(QuestionGroupList.TAG) as iYesNoDialogListener)
    }
    catch(e: ClassCastException){}
    try{
        Log.d(QuestionGroupList.TAG, (parentFragmentManager.getBackStackEntryAt(parentFragmentManager.backStackEntryCount-1).id.toString()))
        yesNoListener = (parentFragmentManager.getBackStackEntryAt(parentFragmentManager.backStackEntryCount-1) as iYesNoDialogListener)
    }
catch(e: ClassCastException){}
    try{
        Log.d(QuestionGroupList.TAG, targetFragment?.tag +"tag")
        yesNoListener = targetFragment as iYesNoDialogListener
    }
    catch(e: ClassCastException){}
    try{
        Log.d(QuestionGroupList.TAG, context?.toString() +"tag")
        yesNoListener  = context as iYesNoDialogListener
    }
    catch(e: ClassCastException){}
}
yesNoListener.onFinishYesNoDialog(true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...