마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

액티비티 전환시 setResult, startActivityForResult 질문드립니다.

0 추천
안녕하세요

액티비티 전환시 onActivityResult 호출 받으려면

전환할때 startActivityForResult, 다시 돌아올때 setResult를 쓰는데

 

예를 들어

A액티비티 -> B액티비티

A에서 startActFor~로 B로 전환하면

A액티비티가 밑에 깔리고 B액티비티가 위에 올라오는데 이상태에서

다시 A로 돌아가기 위해 setResult를 해주고 finish()를 써주게 되면

A액티비티의 onActivityResult가 호출되는건 알고 있습니다.

 

그런데 만약에

A -> B-> C 로 화면이 전환되는 과정에서

C->A로 갈때 onActivityResult가 호출되게 하는 방법을 잘 모르겠습니다..

아무리 해봐도 잘 안되서.. 질문드립니다..

하다가 잘 안되서 지금은

A -> B (B종료시) ->A -> C ->A이렇게 해서 onActivityResult를 받고 있습니다..

A(StartActivityFor~)

B(setReulst, finish)

A(B에서 돌아온걸 onActivityResult에서 확인한후에 여기서 다시 C로 보내주는 방법)

하다가 잘 안되서 편법으로 이렇게 하고 있는데

 

A->B->C 로 갔다가 바로 C->A로 돌아왔을때 A의 onActivityResult를 태우는 방법은 없을까요?

A -> B(C 액티비티 호출하면서 finish) -> C(A액티비티 전환하면서 finish) -> A(onActivityResult 호출..)

 

글이 잘 이해 안될 수 있지만 ㅠㅠ,, 혹시 아시는분 도움좀 부탁드립니다.
익명사용자 님이 2018년 1월 8일 질문

1개의 답변

0 추천
 
채택된 답변
A->B->C를 모두 startActivityForResult()으로 실행시키고

C가 종료되어 B.onActivityResult()이 불리면 C에게서 받은 result을 다시 setResult()하고 바로 finish()하면

A가 나타나서 C->(B)->A로 result를 전달할 수 있죠.

이걸 물어보신게 맞을까요? ^^
디자이너정 (42,810 포인트) 님이 2018년 1월 8일 답변
감사드립니다.

보통 위에 답변주신것이 정석인가요?

C액티비티일때 아래에 2개의 액티비티가 깔려있는데 보통 이런식으로 하는지도 궁금합니다

제가 돌려서 짰던것보단 훨씬 좋은 방법이네요 감사합니다 ^^
...