Setelah kalian mengikuti tutorial saya sebelumnya kita akan merubah beberapa code antara lain adalah sebagai berikut .
Langkah 1
Buka file Main.axml nya lalu tambahkan progress bar di bawah ListView dan ubah layout menjadi RelativeLayout seperti ini code nya.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="20dp"> <ListView android:minWidth="25px" android:minHeight="25px" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/listData" android:layout_marginTop="9.0dp" /> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/listProgressBar" android:indeterminate="true" android:layout_centerInParent="true" android:visibility="gone" /> </RelativeLayout>
Bisa kalian cek code ini
<ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/listProgressBar" android:indeterminate="true" android:layout_centerInParent="true" android:visibility="gone" />
Saya menambahkan progress bar dengan ID = listProgressBar.
Langkah 2
Buka file MainActivity.cs lalu panggil progress bar tersebut dalam sebuah variable sehingga code MainActivity.cs menjadi seperti berikut
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using Newtonsoft.Json.Linq; using Android.App; using Android.Content; using Android.OS; using Android.Runtime; using Android.Views; using Android.Widget; using Newtonsoft.Json; namespace JSONtoListView { [Activity(Label = "JSONtoListView", MainLauncher = true)] public class MainActivity : Activity { private List<Siswa> itemSiswa; private ListView DaftarSiswa; private Uri BaseUri = new Uri("https://smkmaarifnu1ajibarang.sch.id/demo/webservices/Select.php?"); private ProgressBar mProgressBar; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); DaftarSiswa = FindViewById<ListView>(Resource.Id.listData); itemSiswa = new List<Siswa>(); mProgressBar = FindViewById<ProgressBar>(Resource.Id.listProgressBar); var webClient = new WebClient(); webClient.DownloadStringAsync(BaseUri); mProgressBar.Visibility = ViewStates.Visible; webClient.DownloadStringCompleted += WebClient_DownloadStringCompleted; } private void WebClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) { RunOnUiThread(() => { itemSiswa = JsonConvert.DeserializeObject<List<Siswa>>(e.Result); MyListViewAdapter adapter = new MyListViewAdapter(this, itemSiswa); mProgressBar.Visibility = ViewStates.Gone; DaftarSiswa.Adapter = adapter; } ); } } }
Jika kalian cek perubahan maka ada beberapa baris code yang saya tambahkan antara lain
private ProgressBar mProgressBar;
Code diatas adalah kita mendefinisikan variable Progress Bar
Kemudian code ini
mProgressBar = FindViewById<ProgressBar>(Resource.Id.listProgressBar);
Panggil ID Progress Bar nya.
Serta code
mProgressBar.Visibility = ViewStates.Visible;
Status Terlihat jika data JSON belum muncul,
Terakhir tambahkan pada saat data terdownload
mProgressBar.Visibility = ViewStates.Gone;
Progress Bar hilang jika data sudah ter load.
Jalankan via emulator, jika ada eror bisa jalankan voa handphone android kamu, terkadang ada beberapa permasalahan eror ketika di jalankan di emulator bawaan xamarin.
Terimakasih
Ipung Purwono
No comments:
Post a Comment
Mohon melakukan komentar dengan bahasa yang mudah dipahami, santun dan dengan bahasa yang baik.