2012-06-16 13 views
0

내 앱에는 현재 (직접적으로 필요하지 않은) 바로 앞의 활동으로 사용자를 되돌려 보내야하는 상황이 있습니다. 이전의 모든 활동에는 onCreate에서 Intent 매개 변수가 필요할 수 있습니다.이전 활동으로 돌아 가기

그래서 내 질문에 그가 이전에 직접 수행 한 활동이 아닌 활동으로 사용자를 되돌릴 수있는 쉬운 방법이 있으며 이전 활동의 의도 매개 변수를 저장/복원하는 수동 해결 방법을 피할 수 있습니까?

예를 들어 제품에 대한 제안을 사용자에게 제공 할 수있는 글로벌 검색 바가 있습니다. 일단 제안 된 항목 중 하나를 클릭하면 제품보기 활동으로 이동하여 다른 활동으로이 활동을 다시로드 할 수 있습니다. 검색을 시작한 활동으로 돌아갈 것을 결정할 수도 있지만, 현재 검색에 가장 근접하지 않을 수도 있습니다.

UPD : B 활동 순서로 돌아갈 수도 있습니다.

답변

0

startActivityForResult()을 사용하여 새로운 활동을로드하고 finish()을 사용하여 백 프레스에서 시작된 활동을 닫으면 문제를 해결할 수 있습니다.

+0

미안하지만, B 활동 순서로 되돌아 갈 필요가 있습니다. 두 개의 버튼이 있습니다. 하나는 계층 구조의 상위 요소로 돌아가고 다른 하나는 이전 제품 항목으로 돌아가는 것입니다. – user1384991

+0

'startActivityForResult()'를 사용하여 시작한 액티비티 (액티비티 C)를 마치기 전에'setResult (resultCode, data)'함수를 사용한다. 액티비티 B에서'onActivityResult()'메소드가 호출되면,'data'를 검증하고이 액티비티를 끝내고 (액티비티 A를 보여줄 것인지), 아니면 액티비티 B를 유지할 것인지 결정할 수 있습니다. –

+0

중요한'data'는'setResult (id)'를 사용하여 결과를 설정하고이 id를 기반으로'onActivityResult()'에서 다양한 연산을 수행 할 수 있습니다. –

관련 문제