第一行Kotlin系列Intent隐式显式跳转及向下传值

Posted myxcc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一行Kotlin系列Intent隐式显式跳转及向下传值相关的知识,希望对你有一定的参考价值。

1.Intent显式跳转页面

val button5 = findViewById<Button>(R.id.mButton5)
 
button5.setOnClickListener {
            val intent = Intent()
            intent.setClass(this, ThirdActivity::class.java)
            startActivity(intent)
        }

跳转方式一

intent.setClass(this, ThirdActivity::class.java)

  // 获取class是使用::反射

跳转方式二

intent.setClass(this, ThirdActivity().javaClass)

2.Intent隐式跳转调用系统拨号

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跳转页面并向下一页传值 

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页面代码

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)

以上

以上是关于第一行Kotlin系列Intent隐式显式跳转及向下传值的主要内容,如果未能解决你的问题,请参考以下文章

android--显式跳转和隐式跳转

使用Intent实现Activity的隐式跳转

android--显式跳转和隐式跳转的区别用法

android--显式跳转和隐式跳转的差别使用方法

【Android】显式/隐式Intent意图跳转Activity总结

Android显隐式Intent详解