2013-06-18 12 views
0

2 가지 활동 : DetailsBuildingActivity 및 EditBuildingActivity가 있습니다. DetailsActivity에는 건물 속성 (예 : 이름, 크기 등)을 편집하는 EditBuildingActivity로 이동하는 버튼이 있습니다. 편집 및 저장 후 DetailsBuildingActivity가 새 조정 데이터로 열립니다. 이 작업을 한 번에 몇 번하고 다음과 같이하면 다음과 같은 문제가 발생합니다.이전 활동으로 돌아 가기

5 번 연속으로 수행 할 때 백 버튼을 누르면 10 번 눌러야 내 문제가 발생할 수 있습니다. 이전 활동. (10 배 - 5 배 세부 구축 활동 및 5 배 EditBuildingActivity). 이 문제를 해결할 방법이 있습니까? 나는 끊임없이 서로의 작전을 열려고한다.

답변

0

액티비티 스택을 사용해야합니다. 당신이 EditBuildingActivity에 저장하면

당신은 마무리()를 호출하고 새로운 의도를 만들 필요가있다. 당신이 EditBuildingActivities 상태에 대해 알고 DetailsBuildingActivity를 원하시면

, 당신은 활동을 시작

에 startActivityForResult (의도, requestCode가)를 사용할 수 있습니다.

setResult() & & 마무리() 실행 된 작업을 완료

--- 인조 DOCS

보호 무효 onActivityResult를 (INT requestCode가, INT의 resultCode, 의도 데이터)

Since : API Level 1 시작한 활동이 종료 될 때 호출되며 시작한 requestCode, 반환 된 resultCode 및 i의 추가 데이터를 제공합니다. 티. 활동이 명시 적으로이를 리턴했거나, 결과를 리턴하지 않았거나, 조작 중에 크래시 된 경우 resultCode는 RESULT_CANCELED입니다. 활동이 다시 시작될 때 onResume() 바로 전에이 호출을 받게됩니다. 활동에는 여러 개의 인스턴스가있을 수 있으며 의도와 함께 새 인스턴스를 시작할 때마다 일반적으로 활동 스택 맨 위에 추가됩니다.

+0

당신은 "당신이 EditBuildingActivity에 저장하면 완료를 (전화) 및 새로운 의도를 만들 필요가있다."라고 하지만 putExtra를 사용하여 데이터를 전달하는 중입니다. 그러면 주위에 방법이 있습니까? – mXX

+0

그리고 흐름 그래 그, 편집하고 새로운 활동을 시작할 때, 새로운 데이터가 문서에서이 모든 일을 처리하는 detailActivity – mXX

+0

onActivityResult를로드됩니다있다. 활동이 당신에게 requestCode가를 제공, 종료를 시작 할 때 호출 API 레벨 1 당신이 그것을 시작 : onResume()가 무효 onActivityResult를 (INT requestCode가, INT의 resultCode, 의도 데이터)를 보호 이 때문에 당신은 부모 활동에 데이터를로드 with, resultCode, 그리고 그것으로부터의 추가 데이터를 리턴한다. 활동이 명시 적으로이를 리턴했거나, 결과를 리턴하지 않았거나, 조작 중에 크래시 된 경우 resultCode는 RESULT_CANCELED입니다. 활동이 다시 시작될 때 onResume() 바로 전에이 호출을 받게됩니다. – HaMMeReD

관련 문제