我按照以下方式设置我的应用程序,如果它被认为是“最佳实践”,我很好奇。我有两个活动和两个片段。活动1启动并立即使用片段1显示项目的RecyclerView。在片段中单击一个项目,通过界面将其传递回活动,发生一些逻辑并启动活动2,它立即使用片段2显示所选项目的详细信息。
我之所以这样做是因为A)我喜欢应用程序中活动的逻辑流程; 2)我需要创建平板电脑布局,我可以使用这些片段来填充屏幕。
我正在看这个东西越多,我在想为什么不简单地让1个Activity来管理这两个碎片?活动1启动片段1,单击项目,信息返回活动,FragmentManager用片段2替换片段1。
我的问题是,其中一种方式更多地遵循“最佳实践”,还是它们都很好,这是一个选择问题?
答案 0 :(得分:3)
您没有将您的问题描述得足够明确,以便使用多个活动,而不是列表中不相关的数据以及单击此处时会发生什么。
您所描述的是"master-detail" flow,这是一个活动和两个(或更多)碎片的良好用例 - 列表+一些详细信息页面。当你可以show those Fragments side-by-side时,这在大屏幕上尤其有用。
例如,您可以拥有一个包含导航屏幕的Activity(无论是制表符,抽屉还是底部视图),然后您在其中导航到的所有内容都有一个片段。
否则,您将重定向到某些“设置”页面,例如,这是一个新的活动,它会在您的用户界面中显示“Single responsibility principle”。
答案 1 :(得分:0)
嗯,你可以选择单一活动 - 多个片段。您也可以使用bundle在片段之间传递数据。选择的问题还取决于用例。但是碎片被用作轻量活动,需要比活动更少的资源。大多数事情都可能带有碎片。因此,除非不要求使用活动,否则我选择单个活动 - 多个片段。