2020年5月13日星期三

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

第一行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)

以上


没有评论:

发表评论