【问题标题】:Android - relationship between Fragment and ActivityAndroid——Fragment和Activity的关系
【发布时间】:2015-05-09 04:29:50
【问题描述】:
我的问题很简单:我可以从 Activity 创建/启动 Fragment,反之亦然吗?我该怎么做?
我需要为我的应用程序实现这一点,并且我在网上阅读了不和谐的意见。有人说你只能从其他 Fragment 打开 Fragment,另一些人说这是可能的但你不应该那样做,相反你应该只从活动中打开 Fragment。我有点困惑。
我找到了不同的方法来做一件事或另一件事,但没有一个奏效。唯一对我有用的是从一个活动创建一个活动。我需要做的是从一个片段开始一个活动,或者从一个片段开始一个片段。
在进行任何类型的重新实现之前,我想了解其中哪些实际上可以工作,以及为什么另一个不能。
谢谢大家,欢迎任何提示。
【问题讨论】:
标签:
android
android-activity
android-fragments
【解决方案1】:
自 Android Honeycomb (3.0) 以来就引入了片段,它是开发和设计应用程序的一个非常重要的概念。
要回答您的问题,您可以从您的活动开始一个片段,也可以从您的片段开始活动。您也可以从其他片段开始片段。您可以通过在选项卡布局或主从布局中替换它们来使您的代码更具适应性。
关于使用 Fragment 并将它们实现到您的应用程序中需要阅读和理解很多内容,因此我建议您阅读 Android documentation on fragments。
【解决方案2】:
片段被放置在内部活动中,它们的生命周期与包含活动的生命周期密切相关。
至于“打开”片段。您是在谈论添加片段吗?您可以通过代码或 XML 将片段添加到活动中,也可以将片段添加到片段(嵌套片段)。
无论是从片段还是从活动,都可以通过意图启动活动。
【解决方案3】:
片段:通常表示活动用户界面的可重用部分,但也可能表示可重用的程序逻辑。您可以组合几个片段来创建更好地使用您的手机或平板电脑的用户界面。
您可以轻松地交换片段以使您的 GUI 更加动态。
片段必须由活动托管,它们不能独立执行。
Fragment 他们有自己的生命周期,这意味着他们可以启动一个应用程序。
例如:他们有 onCreate() 方法,因此片段可以添加自己的菜单项来托管活动菜单。