每个片段都应该有自己的活动吗?

时间:2014-09-15 03:39:01

标签: android android-fragments

Android Studio 0.8.10

我开发了一个包含3个片段的App。我刚刚使用了1个Activity,当我想显示一个不同的片段时,我只是将现有片段替换为我想要显示的片段。但是,由于我现在有3个片段,未来可能会有更多片段,我认为这将更难管理。

我只是想知道使用多个片段编程时的设计模式是什么,每个片段是否都有自己的活动?

我将来会将这个扩展到平板电脑,所以如果我坚持使用多个片段和单个活动,我不确定这将产生什么影响。

非常感谢任何建议,

2 个答案:

答案 0 :(得分:1)

  

每个片段都有自己的活动吗?

是的,但您也可以使用嵌套片段。

  

我认为这将更难管理。

你说得对,但是

我认为您必须将您的应用与其他小部件匹配,例如,如果您有多个fragments希望在另一个使用viewpager之后显示一个,或者您可以使用horizontalscrollview。您可以创建tabs并按viewpager等同步它们。

答案 1 :(得分:1)

是的,这真的很难弄明白。我认为,从Web应用程序世界来看,一个非常好的类比可能是servlet和框架。

活动就像一个servlet。这是您应用的工作流程中的一个页面。

另一方面,片段就像一块内容。它可能出现在几个不同的上下文中,它可能由几个不同的servlet提供服务。

在MVC术语中,活动主要是控制器的一部分。另一方面,片段更像是视图包含。

很多时候,这两个概念是一致的。工作流中的页面通常只包含一个内容块。明智地,正如您所知,当您获得更多屏幕空间(在平板电脑上)时,单个活动完全有可能显示多个片段。

平板电脑上的单个活动可能会显示可选项目列表,该列表中当前所选项目的详细信息。但是,当屏幕上的空间较小时,这两项内容将显示为单独的工作流程项。单击列表中的项目将调用一个全新的活动。

内容是不变的。工作流程发生了变化。

大多数现代应用程序将使用片段来显示活动内容。它使应用程序更灵活,更容易适应各种不同的屏幕。