android - 如何将监听器从 Fragment 传递到 DialogFragment?

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

我目前在一个单一的 Activity 应用程序中工作,该应用程序为每个屏幕使用 fragment 。我也在使用 MVP 设计模式。

上下文

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

我想要什么?

如何将 Fragment-A 作为 Listener 传递给 DialogFragment(Fragment-B),以便我可以调用 DialogFragment 中的操作?

最佳答案

假设您的 DialogFragment 是另一个 Fragment 的子 fragment (您将 getChildFragmentManager() 传递给 show())作为它应该是,然后你的 FragmentA 将得到一个回调 onAttachFragment() :

Called when a fragment is attached as a child of this fragment.

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

关于android - 如何将监听器从 Fragment 传递到 DialogFragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53857888/

相关文章:

android - 无法从 Android 5.0.2 中的 ACTION_OPEN_DOCUMENT Intent 获取音频文件扩展名

android - 通过命令行更改程序包名称(不使用Android Studio)

java - 振动按钮使android应用强制关闭

android - 菜单在 fragment 的 onCreateOptionsMenu 中多次膨胀调用

android - DialogFragment 将 EditText 聚焦在为 API 28 打开的对话框上

android - 为什么在 Android Q 及更高版本上不需要 WRITE_EXTERNAL_STORAGE

java - 重新访问 fragment 后,在 fragment 内设置文本不起作用

android - 返回时如何刷新 fragment UI

android - DialogFragment 的 Dialog 在 conf 更改后丢失设置的属性

android - Textview : using the dialog title style: @android:style/TextAppearance. DialogWindowTitle