안녕하세요.

A, B, C라는 class가 있습니다.
A -> B
B - > C
C -> A
위와 같이
A에서 B를 호출하고 B에서 나온 데이터를 C로 넘기고 C에서 얻은 데이터를 A로 보내주어야 합니다.

보통
A -> B에서 startActivityForResult()를 사용하여 B -> A 로 돌아오게 사용을 하는데
위와 같이 B에서 C로 갈경우 어떻게 해야 할까 고민중 입니다.

처음 생각이 아래와 같이 setResult()를 사용하지 않고 그냥 startActivity()만 사용하여 아래와 깉이 해야지 했는데...
1번
A -> B : startActivity(); finish()
B -> C  :  startActivity(); finish()
C -> A :  startActivity(); finish()

다시 생각을 하니 아래와 같이 하는게 웬지 순리인것 같고 해서 질문을 합니다.
2번
A -> B : startActivityForResult();
B -> C  : startActivityForResult();
C -> B : setResult(); finish()
B -> A : setResult(); finish()

추가적으로
A에서 생성된 데이터는 A에서만 필요로 하고 B와 C에서는 불필요 합니다.
이런경우 A->B->C->A로 올때 그대로 유지가 되어 있어야 하는데
그렇게 되면 1번의 경우 intent 할때마다 데이터를 가지고 다녀야 되는것 같습니다.
따라서 2번이 더 좋은것 같은데....

조언 부탁드립니다.



profile

give & take