Advertisement
banyucenter

HotelFragment.cs

Nov 20th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.68 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Net;
  6. using Newtonsoft.Json.Linq;
  7.  
  8. using Android.App;
  9. using Android.Content;
  10. using Android.OS;
  11. using Android.Runtime;
  12. using Android.Views;
  13. using Android.Widget;
  14. using Newtonsoft.Json;
  15.  
  16. namespace PariwisataApp
  17. {
  18.     public class HotelFragment : Android.Support.V4.App.Fragment
  19.     {
  20.         ListView DaftarHotel;
  21.         ProgressBar progress;
  22.         private List<Hotel> itemHotel;
  23.  
  24.  
  25.  
  26.  
  27.         public override void OnCreate(Bundle savedInstanceState)
  28.         {
  29.             base.OnCreate(savedInstanceState);
  30.  
  31.             // Create your fragment here
  32.         }
  33.  
  34.         public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
  35.         {
  36.             //Menampilkan layout untuk fragment
  37.             View view = inflater.Inflate(Resource.Layout.hotelLayout, container, false);
  38.             string id = Arguments.GetString("idkabupaten");
  39.             Uri BaseUri = new Uri("https://banyu.center/pariwisataapp/api/getHotelbyKabupaten/" + id);
  40.             DaftarHotel = view.FindViewById<ListView>(Resource.Id.hoteldataList);
  41.             itemHotel = new List<Hotel>();
  42.             var webClient = new WebClient();
  43.             webClient.DownloadStringAsync(BaseUri);
  44.  
  45.  
  46.             progress = view.FindViewById<ProgressBar>(Resource.Id.hotelprogressBar);
  47.             progress.Visibility = ViewStates.Visible;
  48.             webClient.DownloadStringCompleted += WebClient_DownloadStringCompleted;
  49.  
  50.  
  51.             return view;
  52.         }
  53.  
  54.         private void WebClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
  55.         {
  56.             Activity.RunOnUiThread(() =>
  57.             {
  58.                 itemHotel = JsonConvert.DeserializeObject<List<Hotel>>(e.Result);
  59.                 //CustomListAdapter customListAdapter = new CustomListAdapter(this.Activity, itemKabupaten);
  60.                 DaftarHotel.Adapter = new HotelListAdapter(this.Activity, itemHotel);
  61.                 progress.Visibility = ViewStates.Gone;
  62.                 DaftarHotel.ItemClick += DaftarHotel_ItemClick; ;
  63.  
  64.             });
  65.         }
  66.  
  67.         void DaftarHotel_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
  68.         {
  69.             Hotel Idnya = itemHotel.ElementAt(e.Position);
  70.             Toast.MakeText(this.Activity, Idnya.id.ToString(), ToastLength.Short).Show();
  71.             string str = Idnya.id.ToString();
  72.             string kab = Idnya.id_kabupaten.ToString();
  73.  
  74.  
  75.             //Arahkan ke Fragment WisataFragment
  76.             var transaction = this.FragmentManager.BeginTransaction();
  77.             Bundle bundle = new Bundle();
  78.             //Kirimkan argument untuk id
  79.             bundle.PutString("idx", str);
  80.             bundle.PutString("idkab", kab);
  81.  
  82.  
  83.             DetailHotelFragment detailHotel = new DetailHotelFragment();
  84.             detailHotel.Arguments = bundle;
  85.             transaction.Replace(Resource.Id.HomeFrameLayout, detailHotel);
  86.             transaction.AddToBackStack(null);
  87.             transaction.Commit();
  88.  
  89.         }
  90.  
  91.  
  92.  
  93.  
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement