【问题标题】:How are Activities and Fragments tied together in the lifecycle? [duplicate]活动和片段在生命周期中是如何联系在一起的? [复制]
【发布时间】:2016-03-14 21:11:15
【问题描述】:

当我在 android studio 中创建带有片段的空白 Activity 时,实际做了什么!他们具体是怎么连在一起的?在哪一行代码中以及这是如何完成的?

【问题讨论】:

    标签: android android-fragments android-studio fragment android-fragmentactivity


    【解决方案1】:

    实际做了什么?

    它从以下文件中创建一个模板。

    • 一个带有布局的Activity
    • 一个带有布局的ActivityFragment
    • 活动标题的 strings.xml 值
    • 工具栏菜单的一个 res/menu 资源
    • 将<activity> 部分添加到AndroidManifest.xml

    它们是如何连接在一起的?在哪一行代码?

    在onCreate为Activity,你设置布局

    setContentView(R.layout.activity_main);
    

    像这样附加带有<fragment>标签的Fragment,基本上就是FrameLayout。

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              android:id="@+id/fragment"
              android:name="com.androidstack.app.MainActivityFragment"
              tools:layout="@layout/fragment_main"
              android:layout_width="match_parent"
              android:layout_height="match_parent"/>
    

    【讨论】:

      【解决方案2】:

      请阅读here。谷歌的文档应该可以帮助你理解一点。

      但是一个简短的版本是这样的:

      在活动的onCreate:

      • Activity 的视图已绘制。
      • 片段被实例化。

      在片段的onAttach:

      • Fragment 附加到 Activity

      在片段的onCreate:

      • 片段已创建

      在 Fragment 的onViewCreated:

      • Fragment 的视图已绘制。

      【讨论】:

      • 感谢您的解释,现在我阅读 Google 的文档以获得更多理解
      【解决方案3】:

      只需将其视为活动中的活动。这与使用intent 更改activity 基本相同,但只是在其中。所以有一个parent activity,里面是frame 或layout 保存片段。当parent activity 完成加载时,它将开始加载layout 的内容,这是您的片段。 fragment的内容可以通过v.OnclickListener等方式访问

      【讨论】:

      • 我试图找到他们附加在哪一行,我找到了,非常感谢您的帮助
      • 没问题!祝你好运!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多