如何将侦听器从 Fragment 传递到 DialogFragment?
How can I pass a listener from a Fragment to a DialogFragment?
我目前在一个 activity 应用程序中工作,该应用程序为每个屏幕使用片段。我也在使用 MVP 设计模式。
上下文
- 我有一个片段(片段-A),其中有一个项目列表。
此片段处理每个项目的操作。因为它可以访问演示者。
- 我有一个 DialogFragment (Fragment-B),您可以在其中填写一些复选框并完成一个操作(这个操作在 Fragment-A 中处理,它为此实现了一个接口)
- 我正在使用一个包来创建 DialogFragment。 (我不能将侦听器作为参数传递)
我想要什么?
如何将 Fragment-A 作为 Listener 传递给 DialogFragment(Fragment-B),以便我可以调用 DialogFragment 中的操作?
假设您的 DialogFragment
是另一个片段的子片段(您将 getChildFragmentManager()
传递给 show()
),那么您的 FragmentA
将回调到 onAttachFragment()
:
Called when a fragment is attached as a child of this fragment.
这为您提供了对子 DialogFragment 的引用,然后您可以在其中设置所需的任何侦听器。
我目前在一个 activity 应用程序中工作,该应用程序为每个屏幕使用片段。我也在使用 MVP 设计模式。
上下文
- 我有一个片段(片段-A),其中有一个项目列表。 此片段处理每个项目的操作。因为它可以访问演示者。
- 我有一个 DialogFragment (Fragment-B),您可以在其中填写一些复选框并完成一个操作(这个操作在 Fragment-A 中处理,它为此实现了一个接口)
- 我正在使用一个包来创建 DialogFragment。 (我不能将侦听器作为参数传递)
我想要什么?
如何将 Fragment-A 作为 Listener 传递给 DialogFragment(Fragment-B),以便我可以调用 DialogFragment 中的操作?
假设您的 DialogFragment
是另一个片段的子片段(您将 getChildFragmentManager()
传递给 show()
),那么您的 FragmentA
将回调到 onAttachFragment()
:
Called when a fragment is attached as a child of this fragment.
这为您提供了对子 DialogFragment 的引用,然后您可以在其中设置所需的任何侦听器。