activity 跳转
活动跳转 性能低于 片段跳转,但是使用也很多
具体代码
//重载 活动创建函数
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.fragment_first)
//获得意图 意图最好不要定义在回调函数中中
val intent1= Intent(this,ScrollingActivity::class.java).apply{}
findViewById<Button>(R.id.button_first).apply {
setOnClickListener {
// 执行 意图 跳转另一个 activity
startActivity( intent1 )
}
}
}
fragment 跳转
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
//根据 R.id.action_FirstFragment_to_SecondFragment 进行跳转
// 这个东西可以理解为流向,可以在 res navigation 中进行定义
view.findViewById<Button>(R.id.button_first).setOnClickListener {
findNavController().navigate(R.id.action_FirstFragment_to_SecondFragment)
}
}
activity 传递参数
发送方活动 发送参数
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.fragment_first)
val name1=R.string.lmk123
//放置参数到 intent 中
val intent1= Intent(this,ScrollingActivity::class.java).apply{
putExtra("var1","参数1")}
findViewById<Button>(R.id.button_first).apply {
setOnClickListener {
startActivity( intent1)
}
}
}
接收方活动 接收参数
override fun onCreate(savedInstanceState: Bundle?) {
//。。。。。
//。。。。。
//接收参数
val name1 = intent.getStringExtra("var1")
findViewById<TextView>(R.id.t5).apply { text=name1 }
}