Activity返回数据给上一个Activity

代码

  • kotlin:

​FirstReturnActivity :​

class FirstReturnActivity : AppCompatActivity() {
private lateinit var firstBinding: ActivityReturndataFirstBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
firstBinding = ActivityReturndataFirstBinding.inflate(layoutInflater)
setContentView(firstBinding.root)

firstBinding.firstGotoSecond.setOnClickListener {
val intent = Intent(this, SecondReturnActivity::class.java)
startActivityForResult(intent, 1)
}
}

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when(requestCode){
1->if (resultCode== RESULT_OK){
val returnedData=data?.getStringExtra("data_return")
Toast.makeText(this,returnedData,Toast.LENGTH_SHORT).show()
}
}
}
}

​SecondReturnActivity:​

class SecondReturnActivity: AppCompatActivity() {
private lateinit var secondBinding: ActivityReturndataSecondBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
secondBinding= ActivityReturndataSecondBinding.inflate(layoutInflater)
setContentView(secondBinding.root)

secondBinding.secondReturn.setOnClickListener {
val intent= Intent()
intent.putExtra("data_return","Hello MainActivity")
setResult(RESULT_OK,intent)
finish()
}
}

override fun onBackPressed() {
val intent=Intent()
intent.putExtra("data_return","Hello MainActivity")
setResult(RESULT_OK,intent)
finish()
}
}
  • Layout:

​两个布局各加一个按钮​


效果:

【Android】Activity返回数据给上一个Activity_ide