이 문서에서는 대화상자 대상을 사용할 때 백 스택을 관리하는 방법에 관한 고유한 고려사항을 도입하는 방법을 설명합니다.
개요
하나 이상의 대화상자 대상은 백 스택의 맨 위에만 있을 수 있습니다.
그 이유는 사용자가 대화상자 대상이 아닌 대상으로 이동할 때 NavController
가 스택 상단에서 모든 대화상자 대상을 자동으로 팝하기 때문입니다. 이렇게 하면 현재 대상이 백 스택의 다른 대상 위에 항상 완전히 표시됩니다.
대상은 호스팅된 대상, 활동 대상 또는 대화상자 대상일 수 있습니다.
예
백 스택이 탐색 호스트를 채우는 호스팅된 대상으로만 구성되어 있고 사용자가 대화상자 대상으로 이동하는 경우 백 스택은 그림 2와 같을 수 있습니다.
![상단에 대화상자 대상이 있는 백 스택](https://developer.android.google.cn/static/images/guide/navigation/backstack-1.png?authuser=1&hl=ko)
그런 다음 사용자가 다른 대화상자 대상으로 이동하면 그림 3과 같이 백 스택 상단에 추가됩니다.
![상단에 두 개의 대화상자 대상이 있는 백 스택](https://developer.android.google.cn/static/images/guide/navigation/backstack-2.png?authuser=1&hl=ko)
Dialog
대상이 있는 백 스택그런 다음 사용자가 플로팅이 아닌 대상으로 이동하면 대화상자 대상이 먼저 백 스택 상단에서 팝된 후 새 대상으로 이동합니다(그림 4 참고).
![대화상자 대상이 팝되고 새 대상이 추가됨](https://developer.android.google.cn/static/images/guide/navigation/backstack-3.png?authuser=1&hl=ko)
Dialog
대상이 팝되고 새 대상이 추가됨