2012-07-11 3 views
1

내 응용 프로그램에 약간의 문제가 있습니다. 다른 활동을 시작하는 버튼이 4 개 있습니다. 활동을 a, b, c, d라고합니다. 스택에서 100 d 개의 일시 중지 된 활동을 얻지 않고이 활동간에 전환 할 수 있기를 원하지만 여전히 과거 기록을 저장하고 싶습니다.동일한 활동이 여러 번 발생 했습니까?

즉 A-> B-> A-> C-> D->은 모두가

그래서 실질적으로 내가 원하는 활동의 동일한 인스턴스입니다 매우 동일한 인스턴스를 다시 시작 할 수있을 것입니다 새로운 활동을 시작하는 대신 활동을

가능합니까?

답변

6

예, 가능합니다.

mIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
mIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 

이 플래그를 의도에 추가하면 새로운 활동을 생성하는 대신 활동을 스택 위로 가져옵니다.

+0

불행히도 과거사가 사라지 나 그렇지 않으면 작동하지만이 솔루션에 맞지 않습니다 – We4sZ

+0

예, 이것이 맞습니다. Not (Intent.FLAG_ACTIVITY_CLEAR_TOP) 또는 (Intent.FLAG_ACTIVITY_SINGLE_TASK); –

0

활동 "a"는 당신의 가정이다, 당신은이 플래그를 추가 할 수 있습니다 : 당신이 다시 누를 때 (당신이 다른 모든 활동을 지워 때문에)

다음
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 

는, 응용 프로그램이 종료됩니다 =>doc

+0

이것은 내가 찾고있는 것이 아니며 여러 번 활동을 시작하고 네 명 사이의 활동을 다시 시작할 수 있기를 원합니다. 아무도 집에 없습니다. – We4sZ

+0

그러면 인스턴스를 저장해야 할 때를 추측합니다. 상태 및 활동 순서 스택에서, 그리고 reorder_to_front를 변경할 수 있습니다. 희망이 당신을 도울 것입니다 – AMerle

관련 문제