banyucenter

MainActivity.cs

Nov 8th, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.34 KB | None | 0 0
  1. using Android.Widget;
  2. using Android.OS;
  3. using Android.Support.Design.Widget;
  4. using Android.Support.V4.Widget;
  5. using Android.Support.V7.Widget;
  6. using Android.Support.V7.App;
  7. using Android.Views;
  8. using Android.App;
  9. using SupportFragment = Android.Support.V4.App.Fragment;
  10.  
  11.  
  12. namespace PariwisataApp
  13. {
  14.     [Activity(Label = "Pariwisata App", MainLauncher = false, Theme = "@style/Temaku")]
  15.     public class MainActivity : AppCompatActivity
  16.     {
  17.  
  18.         //Buat variable
  19.         DrawerLayout drawerLayout;
  20.         private SupportFragment mCurrentFragment;
  21.         private HomeFragment homeFragment;
  22.  
  23.  
  24.         protected override void OnCreate(Bundle savedInstanceState)
  25.         {
  26.  
  27.             base.OnCreate(savedInstanceState);
  28.             SetContentView(Resource.Layout.Main);
  29.             drawerLayout = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);
  30.  
  31.  
  32.             // Membuat konfigurasi Toolbar
  33.             var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.app_bar);
  34.             SetSupportActionBar(toolbar);
  35.             SupportActionBar.SetTitle(Resource.String.app_name);
  36.             SupportActionBar.SetDisplayHomeAsUpEnabled(true);
  37.             SupportActionBar.SetDisplayShowHomeEnabled(true);
  38.  
  39.  
  40.             // Memasukan item yang terseleksi agar masuk di navigasi
  41.             var navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
  42.             navigationView.NavigationItemSelected += NavigationView_NavigationItemSelected;
  43.  
  44.             // Membuat drawer toolbar
  45.             var drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, Resource.String.open_drawer, Resource.String.close_drawer);
  46.             drawerLayout.AddDrawerListener(drawerToggle);
  47.             drawerToggle.SyncState();
  48.  
  49.             //Definisikan nama fragment agar dapat dipanggil pada navigasi
  50.             homeFragment = new HomeFragment();
  51.  
  52.  
  53.             //Menambahkan Fragment
  54.             var trans = SupportFragmentManager.BeginTransaction();
  55.  
  56.             //Tampilkan home Fragment
  57.             trans.Add(Resource.Id.HomeFrameLayout, homeFragment, "Home");
  58.  
  59.             trans.Commit();
  60.             mCurrentFragment = homeFragment;
  61.         }
  62.  
  63.  
  64.  
  65.  
  66.  
  67.         //Definisikan kemana navigasi akan diarahkan
  68.         void NavigationView_NavigationItemSelected(object sender, NavigationView.NavigationItemSelectedEventArgs e)
  69.         {
  70.             switch (e.MenuItem.ItemId)
  71.             {
  72.                 case (Resource.Id.nav_home):
  73.                     Toast.MakeText(this, "Anda memilih halaman Home!", ToastLength.Short).Show();
  74.                     var transaction = SupportFragmentManager.BeginTransaction();
  75.                     HomeFragment homeFragment = new HomeFragment();
  76.                     transaction.Replace(Resource.Id.HomeFrameLayout, homeFragment);
  77.                     transaction.AddToBackStack(null);
  78.                     transaction.Commit();
  79.                     break;
  80.  
  81.                 case (Resource.Id.nav_wisata):
  82.                     Toast.MakeText(this, "Anda memilih halaman Wisata!", ToastLength.Short).Show();
  83.  
  84.                     break;
  85.  
  86.                 case (Resource.Id.nav_kuliner):
  87.                     Toast.MakeText(this, "Anda memilih halaman Kuliner!", ToastLength.Short).Show();
  88.  
  89.                     break;
  90.  
  91.                 case (Resource.Id.nav_profil):
  92.                     Toast.MakeText(this, "Anda memilih halaman Profil!", ToastLength.Short).Show();
  93.                     var transactionssss = SupportFragmentManager.BeginTransaction();
  94.  
  95.                     break;
  96.  
  97.                 case (Resource.Id.nav_hotel):
  98.                     Toast.MakeText(this, "Anda memilih halaman Hotels!", ToastLength.Short).Show();
  99.  
  100.                     break;
  101.  
  102.                
  103.  
  104.                 case (Resource.Id.nav_out):
  105.                     Toast.MakeText(this, "Anda logout sekarang!", ToastLength.Short).Show();
  106.                     this.FinishAffinity();
  107.                     break;
  108.             }
  109.             // Close drawer jika touch diluar drawer layout
  110.             drawerLayout.CloseDrawers();
  111.         }
  112.  
  113.         //Buat options menu
  114.         public override bool OnCreateOptionsMenu(IMenu menu)
  115.         {
  116.             MenuInflater.Inflate(Resource.Menu.action_menu, menu);
  117.             return true;
  118.         }  
  119.  
  120.         //Jika option menu di pilih
  121.         public override bool OnOptionsItemSelected(IMenuItem item)
  122.         {
  123.             switch (item.ItemId)
  124.             {
  125.                 case Resource.Id.action_settings1:
  126.                     Toast.MakeText(this, "Open Bluetooth!", ToastLength.Short).Show();
  127.                     //do something
  128.                     return true;
  129.                 case Resource.Id.action_settings2:
  130.                     Toast.MakeText(this, "Logout!", ToastLength.Short).Show();
  131.                     //StartActivity(typeof(LoginActivity));
  132.                     //do something
  133.                     return true;
  134.             }
  135.             return base.OnOptionsItemSelected(item);
  136.         }
  137.  
  138.  
  139.         //Fungsi ketika tombol back di prees
  140.         public override void OnBackPressed()
  141.         {
  142.             if (FragmentManager.BackStackEntryCount != 0)
  143.             {
  144.                 FragmentManager.PopBackStack();//fragmentManager.popBackStack();
  145.             }
  146.             else
  147.             {
  148.                 base.OnBackPressed();
  149.             }
  150.         }
  151.  
  152.     }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment