如何将侦听器从Fragment传递到DialogFragment?

时间:2018-12-19 19:20:53

标签: android android-fragments android-dialogfragment android-mvp

我目前正在使用单个活动应用程序,该应用程序为每个屏幕使用片段。我也在使用MVP设计模式。

上下文

  • 我有一个片段(Fragment-A),其中有一个项目列表。 该片段处理每个项目的动作。因为它可以访问演示者。
  • 我有一个DialogFragment(Fragment-B),您可以在其中填写一些复选框并完成一个操作(这是在Fragment-A中处理的操作,该Fragment-A为此实现了一个接口)
  • 我正在使用捆绑包创建DialogFragment。 (我不能将侦听器作为参数传递)

我想要什么?

如何将Fragment-A作为侦听器传递给DialogFragment(Fragment-B),以便可以从DialogFragment调用动作?

1 个答案:

答案 0 :(得分:3)

假设您的DialogFragment是另一个片段的子片段(您将getChildFragmentManager()传递到show()),那么您的FragmentA将得到回调onAttachFragment()

  

当一个片段作为该片段的子元素附加时调用。

这为您提供了对子DialogFragment的引用,然后您可以在其中设置所需的任何侦听器。