안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
A엑티비티에서 B엑티비티를 열때 finish를 안하면
B엑티비티에서 finish를 하면 A엑티비티가 보입니다.
A, B, C, D, E를 엑티비티라고 했을때
A > D
A > B > D
A > B > C > D
이렇게 D로 가는 방법이 있습니다.
이럴때 D로 호출이 되면 이전에 있던 엑티비티들을 모두 닫히고 D 만 존재했으면 합니다.
이런경우 어떻게 해야 될까요?
give & take
2012.09.04 17:32:36
노브레인님, 안드로메이드님 답변 감사합니다.
말씀하신 FlAG_ACTIVITY_CLEAR_TOP 를 사용하면
A > B > C > D 할때 결과는 A > B > C > D 이렇게 나옵니다.
그런데 제가 원하는건
A > B > C > D 할때 결과는 D 이렇게 입니다.
즉 호출한 엑티비티를 제외한 모든 엑티비티를 finish() 하는 방법을 찾고 있습니다.
onActivityResult를 사용해서 이전 엑티비티로 계속 돌아가 마지막에 엑티비티에서 처리하면 되겠지만.
열여있는 엑티비티들이 많거나 거미줄처럼 물리고 물리는 그런 경우에 좀 힘드지 않을까 생각이 듭니다.
finish();
startActivity(new Intent());
이런식으로 넘기시면 됩니다.