안드로이드 개발/개발팁
계속 잊어버리는 onActivityResult 사용법
Aiden96
2024. 7. 10. 14:21
class MainActivity : AppCompatActivity() {
companion object {
const val REQUEST_CODE = 1
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val button = findViewById<Button>(R.id.button)
button.setOnClickListener {
val intent = Intent(this, SecondActivity::class.java)
startActivityForResult(intent, REQUEST_CODE)
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
val result = data?.getStringExtra("result_key")
// 결과를 처리하는 코드
}
}
}
class SecondActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
val button = findViewById<Button>(R.id.button_return)
button.setOnClickListener {
val resultIntent = Intent()
resultIntent.putExtra("result_key", "Some result data")
setResult(Activity.RESULT_OK, resultIntent)
finish()
}
}
}