[AndroidStudio] Intent

han91·2024년 4월 8일

[AndroidStudio]

목록 보기
4/15

이번엔 AndroidStudio에서 Intent를 사용하여 Activity간의 이동을 해볼 것


MainActivity.kt

class MainActivity : AppCompatActivity() {

	// viewBinding
    val binding by lazy {
        ActivityMainBinding.inflate(layoutInflater)
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(binding.root)

		// intent 설정=>SubActivity로 이동
        val intent = Intent(this, SubActivity::class.java)

		// SubActivity에서 값 받아오기
        val activityResult = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
            if (it.resultCode == RESULT_OK) {
                val msg :String? = it.data?.getStringExtra("msg")
                Toast.makeText(this, msg, Toast.LENGTH_LONG).show()
            }
        }
		// 화면 이동 버튼
        binding.btnIntent.setOnClickListener {
        	// intent 동작
            activityResult.launch(intent)
        }
    }
}

SubActivity.kt

class SubActivity : AppCompatActivity() {

    val binding by lazy {
        ActivitySubBinding.inflate(layoutInflater)
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(binding.root)
        
   // 여기 intent는 다시 MainActivity로 돌아갈거라 Intent()로 작성
        val returnIntent = Intent()
        // MainActivity로 돌아가는 버튼
        binding.returnBtn.setOnClickListener {
            returnIntent.putExtra("msg", binding.editTxt.text.toString())
            // intent 설정(resultcode, intent)
            setResult(RESULT_OK, returnIntent)
            // Activity 파괴
            finish()
        }
    }
}
profile
천방지축어리둥절빙글빙글돌아가는개발자

0개의 댓글