banyucenter

ListWisataFragment.cs

Nov 20th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.84 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. using Android.Text;
  16.  
  17. namespace PariwisataJateng
  18. {
  19.     public class ListWisataFragment : Android.Support.V4.App.Fragment
  20.     {
  21.         ListView DaftarListWisata;
  22.         ProgressBar progress;
  23.         private List<ListWisata> itemListWisata;
  24.  
  25.         CustomListWisataAdapter adapters;
  26.         //Ambil alamat load data API JSON
  27.         private Uri BaseUri = new Uri("https://banyu.center/pariwisataapp/api/getWisata");
  28.  
  29.  
  30.         public override void OnCreate(Bundle savedInstanceState)
  31.         {
  32.             base.OnCreate(savedInstanceState);
  33.  
  34.         }
  35.  
  36.         public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
  37.         {
  38.             //Menampilkan layout untuk fragment
  39.             View view = inflater.Inflate(Resource.Layout.listwisataLayout, container, false);
  40.             DaftarListWisata = view.FindViewById<ListView>(Resource.Id.dataListWisata);
  41.  
  42.             itemListWisata = new List<ListWisata>();
  43.             var webClient = new WebClient();
  44.             webClient.DownloadStringAsync(BaseUri);
  45.             progress = view.FindViewById<ProgressBar>(Resource.Id.progressBarWisata);
  46.             progress.Visibility = ViewStates.Visible;
  47.             webClient.DownloadStringCompleted += WebClient_DownloadStringCompleted;
  48.  
  49.  
  50.  
  51.  
  52.             return view;
  53.         }
  54.  
  55.         //Ambil data JSON dengan download String
  56.         private void WebClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
  57.         {
  58.             Activity.RunOnUiThread(() =>
  59.             {
  60.                 itemListWisata = JsonConvert.DeserializeObject<List<ListWisata>>(e.Result);
  61.                 //CustomListAdapter customListAdapter = new CustomListAdapter(this.Activity, itemKabupaten);
  62.                 adapters = new CustomListWisataAdapter(this.Activity, itemListWisata);
  63.                 DaftarListWisata.Adapter = adapters;
  64.                 progress.Visibility = ViewStates.Gone;
  65.  
  66.                 DaftarListWisata.ItemClick += DaftarListWisata_ItemClick;
  67.  
  68.             });
  69.         }
  70.  
  71.  
  72.         void DaftarListWisata_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
  73.         {
  74.             ListWisata select = itemListWisata.ElementAt(e.Position);
  75.             Toast.MakeText(this.Activity, select.id.ToString(), ToastLength.Short).Show();
  76.             string str = select.id.ToString();
  77.             string kab = select.id_kabupaten.ToString();
  78.  
  79.  
  80.             //Arahkan ke Fragment WisataFragment
  81.             var transaction = this.FragmentManager.BeginTransaction();
  82.             Bundle bundle = new Bundle();
  83.             //Kirimkan argument untuk id
  84.             bundle.PutString("idx", str);
  85.             bundle.PutString("idkab", kab);
  86.  
  87.  
  88.             DetailFragment detailWisata = new DetailFragment();
  89.             detailWisata.Arguments = bundle;
  90.             transaction.Replace(Resource.Id.HomeFrameLayout, detailWisata);
  91.             transaction.AddToBackStack(null);
  92.             transaction.Commit();
  93.         }
  94.  
  95.  
  96.     }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment