活动与片段活动之间的区别
我正在研究碎片,并且碰到了两件事Activity
和FragmentActivity
,它们被使用了好几次。 我想知道这两者之间是否有区别,因为当我使用FragmentActivity
更改Activity
时,它对应用程序没有任何影响。
FragmentActivity
是为Android支持包构build的Activity
的子类。
FragmentActivity
类增加了一些新的方法来确保与旧版Android的兼容性,但除此之外,两者之间确实没什么区别。 只要确保将所有调用getLoaderManager()
和getFragmentManager()
更改为getSupportLoaderManager()
和getSupportFragmentManager()
。
-
片段是一个活动的一部分,它为该活动贡献了自己的用户界面。 片段可以被认为是一个子活动。 与用户交互的完整屏幕称为活动。 一个活动可以包含多个片段。片段大多是活动的一个子部分。
-
根据屏幕大小,一个活动可能包含0或多个片段。 一个片段可以在多个活动中重用,所以它在活动中就像一个可重用的组件。
-
一个片段不能独立存在。 它应该永远是活动的一部分。 活动可以以任何片段存在。
你可以从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上是等同的。
你应该总是使用FragmentActivity
和android.support.v4.app.Fragment
而不是平台默认的Activity
和android.app.Fragment
类。 使用平台默认意味着您依赖于您正在运行的设备中使用的任何碎片实现。 这些通常是多年的,并且包含了在支持库中已经修复的错误。