第一行Kotlin系列(二)Intent隐式显式跳转及向下传值
1.Intent显式跳转页面
val button5 = findViewById<Button>(R.id.mButton5) button5.setOnClickListener { val intent = Intent() intent.setClass(this, ThirdActivity::class.java) startActivity(intent) }
跳转方式一
1 | intent.setClass( this , ThirdActivity:: class .java) |
// 获取class是使用::反射
跳转方式二
1 | intent.setClass( this , ThirdActivity().javaClass) |
2.Intent隐式跳转调用系统拨号
1 2 3 4 5 6 7 8 | val button6 = findViewById<Button>(R.id.mButton6) button6.setOnClickListener { val intent = Intent(Intent.ACTION_DIAL) val url = Uri.parse( "tel:10086" ) intent.data = url startActivity(intent) } |
3.Intent跳转页面并向下一页传值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | val button7 = findViewById<Button>(R.id.mButton7) override fun onClick(v: View?) { when (v?.id) { R.id.mButton1 -> Toast.makeText( this , "java" , Toast.LENGTH_LONG).show() R.id.mButton2 -> Toast.makeText( this , "java" , Toast.LENGTH_LONG).show() R.id.mButton7 -> { val intent = Intent( this @MainActivity , GetIntentData:: class .java) val bundle = Bundle() bundle.putString( "text" , "Kotlin练习" ) intent.putExtras(bundle) startActivity(intent) } } } |
注意 使用when 当有多行代码时使用“{ }”括起来
接收Activity页面代码
1 2 3 4 5 6 | private fun initView() { val bundle = this .intent.extras val str = bundle?.get( "text" ).toString() val mTvText = findViewById<TextView>(R.id.mTvText) mTvText.text = str } |
mTvText.text = str 相当于java中 mTvText.setText(str)
以上
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步