Cod*_*joy 3 android android-fragments
如何让我的活动更新它控制的片段?就像这样,我有一个DatePickerDialog,当你在Fragment中调用它时.我有一个回调活动的电话,让它知道这个datepickerdialog何时完成了选择的日期,该日期会传回所选的日期.所以我的活动有它,但我希望调用DialogFragment的Fragment能够访问它,而不是上面的活动.这可能吗?
所以我有这个EditSessionActivity,它在里面叫SessionEdit Fragment.使用UI和日期按钮加载片段,当点击它时,启动DialogFragment被调用DatePickerDialogFragment,这很好用,并回调EditSessionActivity实现OnDialogDoneListner我写的那个.数据存在,但我想将数据推回到SessionEdit片段以更新其UI.我该怎么做呢?
今天早些时候我觉得我很容易让这个工作起来,试图在这里回答一些问题:
如何在片段类中创建datePicker和timePicker对话框?
意识到我的UpdateDisplay(来自上面的链接)在上面的链接中确实是zilch用于更新调用片段中的按钮文本,就像我想要的那样.
Fragment需要与其父Activity通信,反之亦然.定义一个接口,以便符合并允许适当的侦听器订阅事件.例如,我想说,只要片段想要在自身外部更改UI,就应该委托给Activity.One Fragment不应该知道或关心是否存在其他碎片.(可笑的是,如果Fragment想要一个三明治,它应该叫'sudo让我成为一个三明治')
假设这是一个电子邮件客户端,Fragment希望用户选择附件.它应该调用MyParentActivity.selectAttachment(AttachmentSelectedCallback)之类的东西.如果这是一个平板电脑,可能Activity会调用一个新片段,让compose片段可见.如果这是一部手机,可能会启动一个新的活动,或者为附件选择器换出现有的片段.
我正在考虑Activity/Fragment关系的一种方式是微内核的设计方式.Activity是内核,Fragment是服务.内核管理通信,启动或关闭服务,但一般来说服务不应该直接相互了解.请注意,此设计存在性能损失,并不总是值得权衡.
| 归档时间: |
|
| 查看次数: |
7734 次 |
| 最近记录: |