- Sabtu, 27 Januari 2018

Tutorial Xamarin Android : Back Arrow Toolbar untuk Kembali Pada Activity Sebelumnya


Ketika kita membuat sebuah navigasi pada activity , kita sudah mengenal penggunaan OnBackPressed() sebagai fungsi untuk kembali pada halaman sebelumnya. Ada beberapa masalah ketika kita menggunakan Parent Activity dimana data yang sudah di hasilkan pada activity sebelumnya menjadi hilang. Sebagai contoh , Pada MainActivity saya sudah mengambil data Level dan Email user yang telah login menggunakan Intent. Ketika kita melakukan navigasi ke Activity lain, misal ke halaman Kategori dengan Parent MainActivity saat Bac Arrow di Pilih , maka data Level dan Email akan hilang.

Saya menemukan salah satu solusi, dengan menggunakan OnSupportNavigationUp() dengan code seperti ini pada activity.

Di taruh pada activity selanjutnya misal Detail Activity

public override bool OnSupportNavigateUp()
        {
            Toast.MakeText(this, "Back Press!", ToastLength.Short).Show();
            OnBackPressed();
            return true;
        }


Code diatas akan memberikan Navigasi pada back toolbar , seperti ketika kita menekan tombol back pada smartphone android kita.

Agar Back toolbar muncul maka kita wajib memanfaatkan SetHomeAsEnabled(true). Sebagai contoh saya ada 2 Activity :

MainActivity.cs

// Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.app_bar);
            SetSupportActionBar(toolbar);


Pada DetailActivity.cs

SetContentView(Resource.Layout.Detail);

            var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.app_bar);
            SetSupportActionBar(toolbar);
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);


Thanks

Ipung Purwono