2014-03-28 3 views
1

에서 특정 이전 작업을 제거 할 수 있지만 특정 지점에서 '스택을했습니다 otherActivities -> A -> B -> newA 이제 내가 할 수있는 몇 가지 이상한 일을했습니다 : - B에 있고 뒤로 버튼을 누르면 대답으로 돌아갑니다. - 내가 newA에 있고 다시 누르면 A와 B가 보이지 않지만 활동 스택으로 돌아갑니다. (이미 B)어떤 활동이 내 응용 프로그램에서 스택

+0

그것처럼 사용할 수 있습니까? –

+0

이것을 확인하십시오 http://stackoverflow.com/questions/20469023/android-outofmemory-error-and-the-backstack/20680484#20680484 –

답변

1

사용 FLAG_ACTIVITY_CLEAR_TOP을 건너 뛸 달성이 당신의 문제를 해결해야

Android docx

설정되어 있고 실행중인 활동이 이미 현재 작업에서 실행중인 경우 해당 활동의 새 인스턴스를 시작하는 대신 그 위에있는 다른 모든 활동이 닫히고이 인 텐트가 새로운 의도로 (지금 위에) 오래된 활동.

예를 들어, A, B, C, D 활동으로 구성된 작업을 고려하십시오. D가 활동 B의 구성 요소로 해석되는 인 텐트로 startActivity()를 호출하면 C와 D가 완료되고 B 주어진 의도, 인 지금 스택의 결과가 나타납니다, B를을

은 당신이 원하는 명확하지 무엇

Intent intent = new Intent(getApplicationContext(), 
    yourActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

startActivity(intent); 

Activity with Flag FLAG_ACTIVITY_CLEAR_TOP (android)

+0

나는 그것을 줄 것이다 :) –

+0

그게 정확히 내가 필요로하는 것, 감사합니다! :) –

관련 문제