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, como 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 ID do recurso da ação global ao método navigate() para cada elemento da IU, como 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 Safe Args com ações globais, consulte Transmitir dados entre destinos.

Outros recursos

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

Amostras

Codelabs

Vídeos