2013-12-08 3 views
2

내 응용 프로그램에는 Activity1과 Activity2의 두 가지 활동이 있습니다. (런처) Activity1에는 현재 위치를 보여주는 맵이 있고 Activity2에는 태그가 지정된 위치 목록이 있습니다. 사용자가 Activity2에서 특정 태그를 클릭하면 경로가 Activity1에있는지도에서 추적됩니다. 나는 Activity1로 돌아 가야한다. 나는 두 번째 활동에서 첫 번째 활동으로 돌아 오는 방법은 무엇입니까?

Activity Activity2=(Activity)context; 
     Activity2.finish(); 

의 작업 만이 아니 좋은 습관지도

에 경로를 추적 한 후 finish()를 호출 시도, 나는이 작업을 수행 할 수있는 방법 누군가가 저를 제안하십시오? 미리 감사드립니다.

답변

1

이전 활동으로 돌아가려면 Activity.finish()을 호출하는 데 문제가 있다고 생각하지 않습니다. 실제로는 꽤 표준이라고 말하고 싶습니다.

첫 번째 활동에서 Activity.startActivityForResult()을 호출하여 두 번째 활동을 실행 한 다음 두 번째 활동에서 Activity.setResult()Activity.finish()을 호출하여 유용한 결과를 다시 첫 번째 활동으로 전달하는 것이 일반적입니다.

또한 Activity.finish()에 대한 설명서에 언급되어

콜이 활동 완료 및 닫아야합니다. ActivityResult는 onActivityResult()를 통해 시작한 사람에게 전파됩니다.

setResult을 사용하지 않고 다른 메커니즘을 통해 결과를 전파하는 경우에도이 시나리오에서 finish를 사용하지 않아도됩니다.

1

활동별로 전환 할 때 인 텐트를 사용할 수 있습니다.

Activity2에있을 때 아래에 설명 된 코드를 사용할 수 있습니다.

의도 의도 = 새로운 의도 (this, Activity1.class);

startActivity (인 텐트);

+0

맞음 그러나 이것은 onClick 이벤트 내에서만 추가 할 수 있지만 일부 네트워크 작업이 끝나면 바로이 작업을 수행해야합니다. –

관련 문제