1、Intent中提供了一系列putExtra()方法的重载,可以把想要传递的数据暂存在Intent中,在启动另一个Activity后,只需要把这些数据从Intent中取出就可以了。
2、把FirstActivity中的字符串传递到SecondActivity中:
button1.setOnClickListener{
val data ="Hello SecondActivity"
val intent = Intent(this,SecondActivity::class.java)
intent.putExtra("extra_data",data)//putExtra方法接收两个参数,第一个参数是键,用于之后从Intent中取值,第二个参数是要传递的数据。
startActivity(intent)
}
3、在SecondActivity中将传递的数据取出并打印出来:
class SecondActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
val extraData =intent.getStringExtra("extra_data")//intent调用了父类的getIntent()方法,该方法会获取用于启动SecondActivity的Intent,然后调用getStringExtra()方法并传入相应的键值,就可以得到传递的数据了,字符串用getStringExtra,整型数据用getIntExtra,布尔型用getBooleanExtra
Log.d("SecondActivity","extra data is " + extraData)
}
}
Demo地址:https://gitee.com/aaron222/activitytest.git
网友评论