O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Ações globais

Você pode usar uma ação global para criar uma ação comum que vários destinos podem usar. Por exemplo, convém ter botões em destinos diferentes que naveguem para a mesma tela principal do app.

Uma ação global é representada no Navigation Editor por uma pequena seta que aponta para o destino associado, conforme mostrado na Figura 1.

Figura 1. Uma ação global que leva a um gráfico aninhado.

Criar uma ação global

Para criar uma ação global, faça o seguinte:

  1. No Graph Editor, clique em um destino para destacá-lo.
  2. Clique com o botão direito do mouse no destino para exibir o menu de contexto.
  3. Selecione Add Action > Global. Uma seta () aparece à esquerda do destino.
  4. Clique na guia Text para navegar até a visualização de texto XML. O XML da ação global é semelhante ao seguinte:

    <?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>
        

Usar uma ação global

Para usar uma ação global no seu código, transmita o código do recurso da ação global ao método navigate() para cada elemento da IU, conforme mostrado no exemplo a seguir.

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);
       }
    });

    

Usar o Safe Args com uma ação global

Para ver informações sobre o uso de argumentos de segurança com ações globais, consulte Transmitir dados entre destinos.

Outros recursos

Para saber mais sobre navegação, consulte os recursos a seguir.

Amostras

Codelabs

Vídeos