【发布时间】:2017-03-01 05:38:43
【问题描述】:
我按照以下方式设置我的应用程序,我很好奇它是否被认为是“最佳实践”。我有两个活动和两个片段。 Activity 1 启动并立即使用 Fragment 1 显示项目的 RecyclerView。在 Fragment 中点击一个 Item,通过一个接口传回 Activity,发生一些逻辑,启动 Activity 2,它立即使用 Fragment 2 显示所选项目的详细信息。
我这样做是因为 A)我喜欢应用程序中活动的逻辑流程,以及 2)我需要创建可以使用两个片段来填充屏幕的平板电脑布局。
我看这个东西的次数越多,我在想为什么不简单地有 1 个 Activity 来管理这两个 Fragment? Activity 1 启动 Fragment 1,item 被点击,info 回到 Activity,FragmentManager 将 Fragment 1 替换为 Fragment 2。
我的问题是其中一种方式更符合“最佳实践”,还是两者都很好,这是一个选择问题?
【问题讨论】:
-
天啊……你发现了一个潘多拉魔盒。这里没有对错。两者都可以。出于无数原因,我个人尽量避免使用碎片。但是,如果您有平板电脑布局,您会想要使用它们。关于是 1 Act 2 Frags 还是 2 act 2 Frags,在大多数情况下,这更多是个人选择。任何一方都没有“很多优点/缺点”,具体取决于您的最小/最大 API 等等。如果您有 2 个活动已经开始,那绝对没有问题。
-
如果您使用“presenters”和/或依赖注入,那么您可以卸载活动/片段之外的大量“逻辑”,这意味着您拥有的东西更重要,只要因为您的活动或片段仅负责处理“视图”,并且每次发生任何事情时,您都会告诉您的“演示者”处理它(与活动/片段进行通信)等等。