2011-03-23 6 views
0

여러 활동이있는 경우 onPause()는 특정 활동을 완료하는 방법입니까?중복 작업 완료()

편집 : 예를 들어, 시작 활동 1이 호출됩니다. 그런 다음 활동 1은 인 텐트를 사용하여 활동 2로 이동 한 다음 데이터베이스에 업데이트가 수행되고 활동 1_new가 다시 호출되어 업데이트 된 데이터베이스가 표시됩니다. 그 시점에서 저는 이전 활동을 없애고 싶습니다.

+0

당신이하려는 일에 대해 더 설명해 주시겠습니까? 각 액티비티의 onPause는 포 그라운드에서 벗어날 때 호출됩니다. –

답변

0

내가 여기서 끝내게 된 것은 첫 번째 활동에서 startActivityForResult를 호출하는 것이 었습니다. 그렇게하면 두 번째 활동에서 업데이트 된 정보를 다시 표시 할 수있었습니다.

1

당신이하고 싶은 일에 달려 있습니다. 액티비티 호출 스택을위한 AndroidManifest.xml 스펙을 살펴볼 필요가있다.

은 특히주의 android:launchMode

<activity android:launchMode="singleTop"> 

하지만, launchModes은 매우 교묘하고 또한 활동이 의도 자체에서 실행되는 방식에 의존하기 때문에 곤경에 당신을 얻을 수 있습니다.

singleTop은 스택에 해당 활동의 인스턴스를 1 개만 유지합니다. 워드 프로세서

:

활동의 인스턴스가 이미 대상 작업의 상단에 존재하는 경우, 시스템 경로의 onNewIntent에 대한 호출을 통해 그 인스턴스에 대한 의도() 메서드 대신 활동의 새 인스턴스를 만듭니다.

+0

실행 모드는 내가 해결하려고하는 경우를 제대로 처리하지 못합니다. 오래된 활동을 새로 고치고 싶습니다. 이전 활동을 표시하지 마십시오. – locoboy

+0

가능합니다. 액티비티 새로 고침을 수행하려면 onNewIntent()를 재정의해야합니다. –

관련 문제