活动与片段活动之间的区别

我正在研究碎片,并且碰到了两件事ActivityFragmentActivity ,它们被使用了好几次。 我想知道这两者之间是否有区别,因为当我使用FragmentActivity更改Activity时,它对应用程序没有任何影响。

FragmentActivity是为Android支持包构build的Activity的子类。

FragmentActivity类增加了一些新的方法来确保与旧版Android的兼容性,但除此之外,两者之间确实没什么区别。 只要确保将所有调用getLoaderManager()getFragmentManager()更改为getSupportLoaderManager()getSupportFragmentManager()

  1. 片段是一个活动的一部分,它为该活动贡献了自己的用户界面。 片段可以被认为是一个子活动。 与用户交互的完整屏幕称为活动。 一个活动可以包含多个片段。片段大多是活动的一个子部分。

  2. 根据屏幕大小,一个活动可能包含0或多个片段。 一个片段可以在多个活动中重用,所以它在活动中就像一个可重用的组件。

  3. 一个片段不能独立存在。 它应该永远是活动的一部分。 活动可以以任何片段存在。

你可以从FragmentActivity获得Activity所有function。 实际上, FragmentActivity有更多的function)。

使用FragmentActivity您可以轻松构build制表符和交换格式。 对于每个选项卡,您可以使用不同的Fragment (片段可重复使用)。 所以对于任何FragmentActivity你可以重复使用相同的片段。

你仍然可以使用单独的页面的活动,如列表下的东西和编辑下一页的列表元素。

另外请记住如果您使用的是android.app.Fragment;则使用Activity android.app.Fragment; 如果您使用的是android.support.v4.app.Fragment使用FragmentActivity 。 切勿将android.support.v4.app.Fragment附加到android.app.Activity ,因为这会导致抛出exception。

FragmentActivity是支持库的一部分,而Activity是框架的默认类。 它们在function上是等同的。

你应该总是使用FragmentActivityandroid.support.v4.app.Fragment而不是平台默认的Activityandroid.app.Fragment类。 使用平台默认意味着您依赖于您正在运行的设备中使用的任何碎片实现。 这些通常是多年的,并且包含了在支持库中已经修复的错误。