提交带有全屏片段的片段事务

Posted

技术标签:

【中文标题】提交带有全屏片段的片段事务【英文标题】:commit a fragment transaction with full screen fragment 【发布时间】:2018-10-10 22:41:16 【问题描述】:

我有一个片段(片段 A),它不是一个全屏,我想从它打开另一个片段(片段 B),它填满整个屏幕,而不知道容器 id

点击以下链接查看说明情况的图片

Fragment A open Fragment B

【问题讨论】:

【参考方案1】:

您的活动应该管理片段通信

您通常希望一个 Fragment 与另一个 Fragment 进行通信,例如根据用户事件更改内容。所有 Fragment 到 Fragment 的通信都是通过关联的 Activity 完成的。两个 Fragment 永远不应该直接通信。

要允许 Fragment 与其 Activity 进行通信,您可以在 Fragment 类中定义一个接口并在 Activity 中实现它。 Fragment 在其 onAttach() 生命周期方法期间捕获接口实现,然后可以调用接口方法以与 Activity 通信。 https://developer.android.com/training/basics/fragments/communicating

【讨论】:

不幸的是,我只需要片段 A 打开片段 B 全屏而不接触活动,因为我正在制作一个仅在片段上中继的库 不确定这是否可行。也许全屏对话框会起作用。但正如 Leo 所说,您的 Activity 应该管理片段事务。如果你依赖 Fragments,你就依赖于 Activities。

以上是关于提交带有全屏片段的片段事务的主要内容,如果未能解决你的问题,请参考以下文章

在android中使用带有片段的roboguice的任何简单示例?

使用viewpager的片段事务返回空白视图

如何使用事务回栈来弹出片段?

在单个片段事务中添加多个返回堆栈条目

在带有操作栏的活动中使用时,片段未完全显示

片段内的片段不能与 ScrollView 一起使用