Android DialogFragment与以对话框为主题的活动?
如果我想显示带有一些自定义XML的对话框,我可以使用DialogFragment 然而,我也可以使用一个活动来代替它,并给它一个对话主题,这很方便,因为活动可以相互对话,而片段则不能,这使得交流更加容易Android DialogFragment与以对话框为主题的活动?,android,android-fragments,android-activity,android-theme,android-dialogfragment,Android,Android Fragments,Android Activity,Android Theme,Android Dialogfragment,如果我想显示带有一些自定义XML的对话框,我可以使用DialogFragment 然而,我也可以使用一个活动来代替它,并给它一个对话主题,这很方便,因为活动可以相互对话,而片段则不能,这使得交流更加容易 我不应该这样做有什么好的理由吗?优缺点是什么?DialogFragment被认为是Android显示复杂对话框的方式。如果您遇到的唯一问题是与活动或对话框中的片段通信,那么有一些简单的解决方案。其中之一-要从片段向活动发送响应,可以使用接口。此外,显示DialogFragment比启动新活动更快
我不应该这样做有什么好的理由吗?优缺点是什么?DialogFragment被认为是Android显示复杂对话框的方式。如果您遇到的唯一问题是与活动或对话框中的片段通信,那么有一些简单的解决方案。其中之一-要从片段向活动发送响应,可以使用接口。此外,显示DialogFragment比启动新活动更快。DialogFragment的另一个优点是,将数据从片段传递到活动比从活动传递到活动更容易(这需要将对象作为意图附加对象) 如果我想显示一个带有自定义XML的对话框,我可以使用 对话片段 是的,我们可以在DialogFragment.onCreateView()的onCreateView()模板方法回调中定义布局,以定义自定义布局 但是我也可以使用活动来代替,并给它一个对话主题, 这是很方便的,因为活动可以互相交谈 片段不能,这使得通信更容易一些
startActivityForResult(Intent-Intent,int-reqCode)
方法
从活动A开始活动B
。当活动B
结束时
必须通过setResult(int reqCode,
意图)
方法接口
驱动实现,与通信相比非常简单
在活动之间
。请查看下面的详细信息片段
可以轻松地相互通信
其他通过接口
。请查看以上链接了解详细信息。对于
tabletui
我们必须使用片段来实现
易于管理和模块化“片段与活动”
和“通过活动的片段和片段”
活动B
至活动A
通信活动B
将
销毁并将其结果传递给活动A
Activity.startActivityForResult()
有自己的优势。例如,如果您想通过摄像头捕获图像,那么我们使用隐式意图
启动摄像头活动
,一旦捕获图像,它将图像的URI传递回setResult(int-reqCode,Intent-Intent)
,从而调用ActivityonActivityResult()
被调用,以便它可以检查图像的URI详细信息同一活动上的两个片段可以通过接口轻松地相互通信。
它们可以通过底层活动相互通信,但是如果你从Activity->Fragment->Fragment开始,这会变得很混乱,因为现在你必须从片段中删除实现细节,并将它们放到Activity中,导致大量的内容膨胀code@Kalima:您正在谈论案例活动->片段->片段,在这种情况下,第二个片段必须是嵌套片段,表示片段1的子片段。您不需要直接从活动与第二个片段通信。您应该将事件传递给片段1,然后片段1将事件传递给片段2。请查看以下链接了解详细信息。