Android studio Android Studio和Kotlin如何将控制从MainActivity传递到另一个类
我正在使用android studio 4.1.1和kotlin 我正在学习使用Android Studio和Kotlin编写Android应用程序。我有一个问题,一些教程和搜索线程没有为我回答。控制如何从Android studio Android Studio和Kotlin如何将控制从MainActivity传递到另一个类,android-studio,kotlin,Android Studio,Kotlin,我正在使用android studio 4.1.1和kotlin 我正在学习使用Android Studio和Kotlin编写Android应用程序。我有一个问题,一些教程和搜索线程没有为我回答。控制如何从MainActivity.kt类传递到另一个类,即:FirstFragment.kt 我在教程中学习的其他东西都做得很好,但我无法理解这一点 例如: 我用Kotlin在Android Studio中创建了一个新的基本活动应用程序。在java目录中,我看到了以下类:FirstFragment.k
MainActivity.kt
类传递到另一个类,即:FirstFragment.kt
我在教程中学习的其他东西都做得很好,但我无法理解这一点
例如:
我用Kotlin在Android Studio中创建了一个新的基本活动应用程序。在java目录中,我看到了以下类:FirstFragment.kt、MainActivity.kt和SecondFragment.kt
在res/layout/目录中,我看到:activity\u main.xml
、content\u main.xml
、fragment\u first.xml
和fragment\u second.xml
问题1)当应用程序加载到模拟器中时,我看到fragment_first.xml
中的按钮和文本视图。这是怎么发生的?我看不到代码中的“loadfragment_first.xml”字样
MainActivity.kt
有setContentView(R.layout.activity\u main)
加载该布局。activity_main.xml具有
。但是从那里,我不知道在哪里可以找到加载fragment_first.xml
布局的代码
我相信当fragment\u first.xml
加载时,控制权从MainActivity.kt
传递到FirstFragment.kt
,是吗?问题2)。这是因为onCreate函数吗
感谢您帮助我更好地理解这一点。加载片段有多种方法。传统上,您使用FragmentManager创建一个片段事务,该事务告诉活动将片段放入视图层次结构中并开始管理其生命周期 最近,他们添加了导航组件,可以代替直接使用FragmentManager 在当前的新项目基本活动中,布局
Activity\u main.xml
包括布局content\u main
。在content\u main.xml
中,您将看到它包含一个fragment
元素,该元素被设置为片段(使用name
参数)NavHostFragment
,它是导航组件用来承载导航xml文件中指定的子片段的特殊片段。这个片段
元素还使用navGraph
属性指定导航xml文件。它指定nav_graph.xml
,您可以在res/navigation
目录中找到它
如果打开nav_graph.xml
,您将看到它将FirstFragment
设置为主片段,因此这就是将其作为第一个片段的原因
基本上,控制流程是:
onCreate()
将内容视图设置为Activity\u main
,其中包括content\u main
content\u main
包含一个自动插入视图层次结构中的NavHostFragment,以便活动开始运行它nav_graph
,这会告诉它首先加载FirstFragment加载片段有多种方法。传统上,您使用FragmentManager创建一个片段事务,该事务告诉活动将片段放入视图层次结构中并开始管理其生命周期 最近,他们添加了导航组件,可以代替直接使用FragmentManager 在当前的新项目基本活动中,布局
Activity\u main.xml
包括布局content\u main
。在content\u main.xml
中,您将看到它包含一个fragment
元素,该元素被设置为片段(使用name
参数)NavHostFragment
,它是导航组件用来承载导航xml文件中指定的子片段的特殊片段。这个片段
元素还使用navGraph
属性指定导航xml文件。它指定nav_graph.xml
,您可以在res/navigation
目录中找到它
如果打开nav_graph.xml
,您将看到它将FirstFragment
设置为主片段,因此这就是将其作为第一个片段的原因
基本上,控制流程是:
onCreate()
将内容视图设置为Activity\u main
,其中包括content\u main
content\u main
包含一个自动插入视图层次结构中的NavHostFragment,以便活动开始运行它nav_graph
,这会告诉它首先加载FirstFragment#灯泡刚刚亮了!非常感谢你的解释。这很有道理,还澄清了几个其他问题。非常感谢。#Tenfour04灯泡刚刚亮了!非常感谢你的解释。这很有道理,还澄清了几个其他问题。非常感谢。