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

wil*_*nrc 3 android android-fragments android-dialogfragment android-mvp

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

语境

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

我想要的是?

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

ian*_*ake 8

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

当片段作为此片段的子级附加时调用。

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