我有一些片段需要显示常规对话框。在这些对话框中,用户可以选择是/否答案,然后片段应该做出相应的行为。
现在Fragment
类没有onCreateDialog()
方法来重写,所以我想我必须在包含的外部实现对话框Activity
。没关系,但是接下来Activity
需要以某种方式向片段报告所选的答案。我当然可以在这里使用回调模式,因此片段在Activity
使用侦听器类,活动将通过该侦听器类报告答案,或者类似的东西。
但这对于在片段中显示“简单”是-否对话框的简单任务来说似乎相当混乱。另外,这样我的Fragment
会不太独立。
有没有一些更清洁的方法来做到这一点?
Edit:
这个问题的答案并没有真正详细解释应该如何使用 DialogFragments 来显示 Fragments 中的对话框。所以据我所知,要走的路是:
- 显示片段。
- 需要时,实例化 DialogFragment。
- 将原始 Fragment 设置为此 DialogFragment 的目标,其中
.setTargetFragment()
.
- 使用原始片段中的 .show() 显示 DialogFragment。
- 当用户在此 DialogFragment 上选择某个选项时,通知原始 Fragment 有关此选择的信息(例如用户单击“yes”),您可以使用 .getTarget() 获取原始 Fragment 的引用。
- 关闭 DialogFragment。
我必须谨慎地怀疑之前接受的答案,即使用 DialogFragment 是最佳选择。 DialogFragment 的预期(主要)目的似乎是显示以下片段:are对话框本身,而不是显示片段have要显示的对话框。
我相信使用片段的活动在对话框和片段之间进行调解是更好的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)