EnjoyLife

계속 잊어버리는 onActivityResult 사용법 본문

안드로이드 개발/개발팁

계속 잊어버리는 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()
        }
    }
}