Advertisement
banyucenter

HomeFragment.cs

Nov 8th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.69 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 PariwisataApp
  18. {
  19.     public class HomeFragment : Android.Support.V4.App.Fragment
  20.     {
  21.         ListView DaftarKabupaten;
  22.         ProgressBar progress;
  23.         private List<Kabupaten> itemKabupaten;
  24.  
  25.         CustomListAdapter adapters;
  26.         //Ambil alamat load data API JSON
  27.         private Uri BaseUri = new Uri("https://banyu.center/pariwisataapp/api/getKabupaten");
  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.homeLayout, container, false);
  40.             DaftarKabupaten = view.FindViewById<ListView>(Resource.Id.dataList);
  41.  
  42.             itemKabupaten = new List<Kabupaten>();
  43.             var webClient = new WebClient();
  44.             webClient.DownloadStringAsync(BaseUri);
  45.             progress = view.FindViewById<ProgressBar>(Resource.Id.progressBar);
  46.             progress.Visibility = ViewStates.Visible;
  47.             webClient.DownloadStringCompleted += WebClient_DownloadStringCompleted;
  48.  
  49.  
  50.             return view;
  51.         }
  52.  
  53.         //Ambil data JSON dengan download String
  54.         private void WebClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
  55.         {
  56.             Activity.RunOnUiThread(() =>
  57.             {
  58.                 itemKabupaten = JsonConvert.DeserializeObject<List<Kabupaten>>(e.Result);
  59.                 //CustomListAdapter customListAdapter = new CustomListAdapter(this.Activity, itemKabupaten);
  60.                 adapters = new CustomListAdapter(this.Activity, itemKabupaten);
  61.                 DaftarKabupaten.Adapter = adapters;
  62.                 progress.Visibility = ViewStates.Gone;
  63.  
  64.                 DaftarKabupaten.ItemClick += DaftarKabupaten_ItemClick; ;
  65.  
  66.             });
  67.         }
  68.  
  69.  
  70.         void DaftarKabupaten_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
  71.         {
  72.             Kabupaten select = itemKabupaten.ElementAt(e.Position);
  73.             Toast.MakeText(this.Activity, select.id.ToString(), ToastLength.Short).Show();
  74.             string str = select.id.ToString();
  75.  
  76.             //Arahkan ke Fragment WisataFragment
  77.             var transaction = this.FragmentManager.BeginTransaction();
  78.             Bundle bundle = new Bundle();
  79.             //Kirimkan argument untuk id
  80.             bundle.PutString("sid", str);
  81.  
  82.             WisataFragment wisataList = new WisataFragment();
  83.             wisataList.Arguments = bundle;
  84.             transaction.Replace(Resource.Id.HomeFrameLayout, wisataList);
  85.             transaction.AddToBackStack(null);
  86.             transaction.Commit();
  87.  
  88.         }
  89.     }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement