반응형
Notice
Recent Posts
Recent Comments
Link
불로구
안드로이드 스튜디오 - Intent 값 반환 받기 (2) 본문
반응형
안드로이드 스튜디오 - Intent (1)
Intent란? - 의도, 요구, 의사 전달, 요청 - 요청 관계 -> 액티비티와 액티비티 -> 안드로이드 시스템과 myApp -> 다른 앱과 내 앱 ( 상호합의 필요) - 요청의 전달 -> 전달만 하는 요청 -> 리턴을 받는 요
cometome1004.tistory.com
앞 포스팅에서는 Intent로 전환할 액티비티에 값을 전달하였다.
이번엔 그 전 액티비티에 값을 반환하는 법을 알아보자
값을 전달만 할 때에는 Intent를 startActivity()를 통해 실행하였지만 반환값을 전달받을 경우에는
startActivityForResult()를 사용한다. -> startActivityForResult(intent, 200) -> 200은 requestCode이다.
메인 액티비티에서 startActivityForResult를 이용해서 값을 전달 후 다음 액티비티에서는
var intent = Intent()
intent.putExtra("result", return_VALUE.toString())
setResult(Activity.RESULT_OK, intent)
this.finish()
인텐트를 만들고 key와 value를 설정해준다.
setResult()를 통해 상태와 인텐트를 설정하고 finish()를 통해 종료를 하면 이전 액티비티로 넘어간다.
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(requestCode == 200) {
val result = data?.getStringExtra("result")
result_value.text = result.toString()
}
}
이전 액티비티에서는 onCreate()가 아닌 onActivityResult()를 통해 전달했던 requestCode와 일치한다면
원하는 로직을 작성하면 된다.
반응형
Comments