Tindakan global

Anda dapat menggunakan tindakan global untuk membuat tindakan umum yang dapat digunakan oleh beberapa tujuan. Misalnya, Anda mungkin ingin tombol di tujuan yang berbeda untuk menavigasi ke layar aplikasi utama yang sama.

Tindakan global direpresentasikan dalam Editor Navigasi dengan tanda panah kecil yang mengarah ke tujuan terkait, seperti yang ditunjukkan pada gambar 1.

Gambar 1. Tindakan global yang mengarah ke grafik bertingkat.

Membuat tindakan global

Untuk membuat tindakan global, lakukan hal berikut:

  1. Dari Graph Editor, klik tujuan untuk menandainya.
  2. Klik kanan pada tujuan untuk menampilkan menu konteks.
  3. Pilih Add Action > Global. Panah () muncul di sebelah kiri tujuan.
  4. Klik tab Text untuk membuka tampilan teks XML. XML untuk tindakan global terlihat mirip dengan yang berikut:

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

Menggunakan tindakan global

Untuk menggunakan tindakan global dalam kode Anda, teruskan ID resource tindakan global ke navigate() metode untuk setiap elemen UI, seperti yang ditunjukkan pada contoh berikut:

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

Menggunakan Safe Args dengan tindakan global

Untuk informasi tentang cara menggunakan Safe Args dengan tindakan global, lihat Meneruskan data antartujuan.

Referensi lainnya

Untuk mempelajari navigasi lebih lanjut, lihat referensi tambahan berikut.

Codelab

Video