새 대상 유형을 위한 지원 추가

NavController 유형은 하나 이상의 Navigator 객체를 사용하여 탐색 작업을 실행합니다. 기본적으로 NavControllerActivityNavigator 클래스와 중첩된 ActivityNavigator.Destination 클래스를 사용하여 다른 활동으로 이동하는 방식으로 탐색 그래프에서 떠나도록 지원합니다.

다른 유형의 대상으로 이동하려면 하나 이상의 추가적인 Navigator 객체를 NavController에 추가해야 합니다. 예를 들어, 프래그먼트를 대상으로 사용한다면 NavHostFragment는 자동으로 FragmentNavigator 클래스를 NavController에 추가합니다.

Navigator 객체를 NavController에 추가하려면 getNavigatorProvider() 메서드 다음에 addNavigator() 메서드를 사용합니다.

다음 코드는 CustomNavigator 객체를 NavController에 추가하는 예를 보여줍니다.

Kotlin

val customNavigator = CustomNavigator()
navController.navigatorProvider += customNavigator

Java

CustomNavigator customNavigator = new CustomNavigator();
navController.getNavigatorProvider().addNavigator(customNavigator);

대부분의 Navigator 클래스에는 중첩된 대상 서브클래스가 있습니다. 이 서브클래스를 사용하여 대상에 고유한 추가 속성을 지정할 수 있습니다. 대상 서브클래스에 관한 자세한 내용은 적절한 Navigator 클래스의 참조 문서를 확인하세요.

추가 리소스

탐색에 관한 자세한 내용은 다음 추가 리소스를 참고하세요.

샘플

Codelab

동영상