2013-04-25 3 views
0

나는 거기에 대해 이미 몇 가지 질문을 읽었지만 아무도 도움이되지 않았다. 왜냐하면 내가하고 싶은 일은 가볍게 다르기 때문이다.스택에서 활동 지우기.

나는, 예를 들어이 활동이 있습니다

A-> B-> C-> D-> E

DI에

E로 이동하는 버튼이 있고, 나는 활동 E를 입력 할 때, I A와 E 사이의 모든 활동을 지우고 싶습니다. E에서 뒤로 버튼을 누르면 활동 A로 돌아갑니다.

알고 있습니다! onKeyDown 메서드를 재정 의하여이 작업을 수행 할 수 있으며 사용자를 액티비티 A로 이동시킬 수 있지만 전체 액티비티가 스택에 보관되므로 지우고 싶습니다! 성능과 관리면에서 나는 더 이상 필요가 없다는 것을 이해합니다.

미리 감사드립니다.

+1

사용자가 뒤로 누를 경우 B, C 또는 D에있는 경우 이전 활동으로 돌아가시겠습니까? –

+0

예, android : noHistory = "true"태그를 사용할 수없는 이유가 무엇입니까 – TiagoM

+0

D에서 FLAG_ACTIVITY_CLEAR_TOP 플래그로 E를 시작 하시겠습니까? 그렇다면 왜 저 작업이 저를 초월한 것입니까? 최소 목표는 무엇입니까? –

답변

2

필요한 작업을 시작하는 동안 특별한 의도 플래그 (Intent.FLAG_ACTIVITY_CLEAR_TOP)를 사용해야합니다. 매니페스트에서

+0

감사합니다;) – TiagoM

+0

매력처럼 작동했습니다.) – TiagoM

+1

사실은 아닙니다 : 그것은 목표 활동의 시작에서 오랜 기다림을 일으킬 수 있습니다. 귀하의 활동은 어쩌면 경량 일 수도 있고, 아마도 강력한 장치를 사용하여 일시 중지를 알지 못했을 수도 있습니다. – Stan

1

당신은 스택을 해제 할 각 활동을 위해

<activity 
     android:name=".MyActivity" 
     android:noHistory="true"> 

를 작성할 수 있습니다.

+0

Didnt know this, thanks! – TiagoM

관련 문제