전역 작업

전역 작업을 사용하여 여러 대상에서 사용할 수 있는 공통 작업을 만들 수 있습니다. 예를 들어 다양한 대상의 버튼이 동일한 기본 앱 화면으로 이동할 수 있습니다.

전역 작업은 그림 1과 같이 Navigation Editor에서 연결된 대상을 가리키는 작은 화살표로 표시됩니다.

그림 1. 중첩 그래프로 연결되는 전역 작업

전역 작업 만들기

전역 작업을 만들려면 다음 단계를 따르세요.

  1. Graph Editor에서 대상을 클릭하여 강조 표시합니다.
  2. 대상을 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 표시합니다.
  3. Add Action > Global을 선택합니다. 화살표()가 대상의 왼쪽에 나타납니다.
  4. Text 탭을 클릭하여 XML 텍스트 뷰로 이동합니다. 전역 작업의 XML은 다음과 유사합니다.

    <?xml version="1.0" encoding="utf-8"?>
    <navigation xmlns:app="http://schemas.android.com/apk/res-auto"
                xmlns:tools="http://schemas.android.com/tools"
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/main_nav"
                app:startDestination="@id/mainFragment">
    
      ...
    
      <action android:id="@+id/action_global_mainFragment"
              app:destination="@id/mainFragment"/>
    
    </navigation>
    

전역 작업 사용

코드에서 전역 작업을 사용하려면 다음 예와 같이 각 UI 요소의 navigate() 메서드에 전역 작업의 리소스 ID를 전달합니다.

Kotlin

viewTransactionButton.setOnClickListener { view ->
    view.findNavController().navigate(R.id.action_global_mainFragment)
}

Java

viewTransactionsButton.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View view) {
       Navigation.findNavController(view).navigate(R.id.action_global_mainFragment);
   }
});

전역 작업으로 Safe Args 사용

전역 작업으로 Safe Args를 사용하는 방법에 관한 자세한 내용은 대상 간 데이터 전달을 참고하세요.

추가 리소스

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

샘플

Codelab

동영상