FragmentActivity 与使用 FragmentTransaction 管理 Fragment?

Posted

技术标签:

【中文标题】FragmentActivity 与使用 FragmentTransaction 管理 Fragment?【英文标题】:FragmentActivity vs managing Fragment using FragmentTransaction? 【发布时间】:2012-04-19 01:18:18 【问题描述】:

在网上找到的许多关于Fragment 的教程(如this one)都使用FragmentActivity。这似乎是使用Fragment 的静态方式,而不是使用FragmentTransaction 在普通Activity 的容器中加载Fragment 的动态方式。

我正在使用 API 12,但 FragmentActivity 不存在(它在 android.support.v4.app 中)。

所以如果我不使用Android支持包,我只能动态管理Fragment,对吧?为什么FragmentActivity 消失了?

谢谢

【问题讨论】:

【参考方案1】:

这似乎是使用 Fragment 的静态方式,而不是使用 FragmentTransaction 在普通 Activity 的容器中加载 Fragment 的动态方式。

这是完全错误的。

FragmentActivity 用于 Android 支持包,如果您希望使用 API 级别 11 之前的片段。静态(布局中的<fragment>)和动态(FragmentTransaction)片段均受 @ 支持987654324@ 和 Activity(后者仅适用于 API 级别 11 及更高级别)。

我正在使用 API 12,但 FragmentActivity 不存在(它在 android.support.v4.app 中)。

将 Android 支持包添加到您的项目中。例如,在 Eclipse 中,右键单击项目,从上下文菜单中选择 Android 工具 > 添加支持包。

所以如果我不使用Android支持包,我只能动态管理Fragment,对吧?

不,您可以在 API 级别 11 上使用带有 Activity 的静态或动态片段。

为什么 FragmentActivity 消失了?

它并没有消失。为了便于使用,他们将 Android 支持包 JavaDocs 集成到主 JavaDocs 中。每当您看到 android.support 包中的类时,您就知道它来自 Android 支持包。

【讨论】:

以上是关于FragmentActivity 与使用 FragmentTransaction 管理 Fragment?的主要内容,如果未能解决你的问题,请参考以下文章

Android - 活动与 FragmentActivity? [复制]

android多个fragment返回键层层返回

我可以将 AppCompat 主题与 Activity/FragmentActivity 类一起使用吗?

回到 FragmentActivity 后出现 IllegalStateException

AppCompat 操作栏库不显示添加的片段

Activity、AppCompatActivity、FragmentActivity 和 ActionBarActivity:啥时候使用?