Genel işlemler

Birden fazla hedefin kullanabileceği ortak bir işlem oluşturmak için küresel işlem kullanabilirsiniz. Örneğin, farklı hedeflerdeki düğmelerin aynı ana uygulama ekranına yönlendirmesini isteyebilirsiniz.

Global işlemler, Gezinme Düzenleyici'de ilişkili hedefi gösteren küçük bir okla gösterilir (Şekil 1).

Şekil 1. İç içe yerleştirilmiş bir ağaca yol açan genel işlem.

Global işlem oluşturma

Genel işlem oluşturmak için aşağıdakileri yapın:

  1. Grafik Düzenleyici'de bir hedefi tıklayarak öne çıkarın.
  2. İçerik menüsünü görüntülemek için hedefi sağ tıklayın.
  3. İşlem Ekle > Global'i seçin. Hedefin solunda bir ok () görünür.
  4. XML metin görünümüne gitmek için Metin sekmesini tıklayın. Genel işlem için XML aşağıdaki gibi görünür:

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

Genel işlem kullanma

Kodunuzda global bir işlem kullanmak için global işlemin kaynak kimliğini her kullanıcı arayüzü öğesinin navigate() yöntemine iletin. Aşağıdaki örnekte gösterildiği gibi:

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'i genel işlemle kullanma

Safe Args'i global işlemlerle kullanma hakkında bilgi edinmek için Hedefler arasında veri aktarma başlıklı makaleyi inceleyin.

Ek kaynaklar

Gezinme hakkında daha fazla bilgi edinmek için aşağıdaki ek kaynaklara göz atın.

Codelab uygulamaları

Videolar