public MyHealth_BloodPressure_RecyclerViewAdapter (Activity context, MyHealth_BloodPressure_ListDataHolderList data, int totalPage) { this.context = context; mData = data; this.totalPage = totalPage; }
private void setupMyHealthData(int page){ WebServices wbs = new WebServices (); string tokenData = Activity.Intent.GetStringExtra ("Token"); string tokenWBSRaw = wbs.getMyHealthBPRecords(tokenData,page); int totalPage = 0; Console.WriteLine ("Raw Data: {0}",tokenWBSRaw); try { var tokenWBSjson = JsonConvert.DeserializeObject<WebServices.MyHealthBloodPressureData> (tokenWBSRaw); totalPage = tokenWBSjson.BP_data.total; lastPage = tokenWBSjson.BP_data.last_page; if (totalPage != 0) { if(isRefreshing == true){ listData.Clear (); } foreach(var GetData in tokenWBSjson.BP_data.data) { Console.WriteLine("[Tab2] Data MDateTime: {0}",GetData.MdateTime); myHealthDateList.Add(GetData.Mdatef); myHealthTimeList.Add(GetData.Mtimef); myHealthPulseList.Add(GetData.HR); myHealthBPMList.Add(GetData.HP+" / "+GetData.LP+" "+GetData.BPUnitText); myHealthStatusList.Add(setStatus(GetData.color)); listData.Add(new MyHealth_BloodPressure_ListData() { mDateTime = DateTime.ParseExact(GetData.MdateTime.ToString(), "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture ).ToString("dd MMM. yyyy, h:mm:ss tt"), mPressure = GetData.HP+" / "+GetData.LP+" "+GetData.BPUnitText, mPulse = GetData.HR+" BPM", mBgColor = "#FF"+GetData.color, mStatus = setStatus(GetData.color) }); } Activity.RunOnUiThread (() => { llMHeT1ErrorLayout.Visibility = ViewStates.Gone; progressDialog.Hide(); }); } else { Activity.RunOnUiThread (() => { llMHeT1ErrorLayout.Visibility = ViewStates.Visible; tvMHeT1ErrorStatus.Text = "Anda belum membuat sebarang pemeriksaan tekanan darah di PI1M."; progressDialog.Hide(); }); } } catch(Exception e) { Console.WriteLine ("[Tab_2] Error on inserting data: {0} ",e); string eLimit = string.Format ("{0}", e).Substring (0, 20); Activity.RunOnUiThread (() => { AlertDialog alertDialog; AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder (Activity); alertDialogBuilder .SetTitle ("Masalah") //.SetMessage (string.Format ("Maaf. Sila cuba sekali lagi ({0}...).", eLimit)) .SetMessage (string.Format ("Tiada data ditemui. Anda mungkin belum membuat sebarang pemeriksaan tekanan darah di PI1M. Sila hubungi Pengurus PI1M berdekatan dengan anda untuk pertanyaan.")) .SetCancelable (true) .SetPositiveButton ("OK", delegate { }); alertDialog = alertDialogBuilder.Create (); alertDialog.Show (); llMHeT1ErrorLayout.Visibility = ViewStates.Visible; tvMHeT1ErrorStatus.Text = "Anda belum membuat sebarang pemeriksaan tekanan darah di PI1M."; }); } if (Activity != null) { Activity.RunOnUiThread (() => { if (page == 1) { listDataHL = new MyHealth_BloodPressure_ListDataHolderList (listData); mLayoutManager = new LinearLayoutManager (Activity); recyclerView.SetLayoutManager (mLayoutManager); recyclerAdapter = new MyHealth_BloodPressure_RecyclerViewAdapter (Activity, listDataHL, totalPage); recyclerView.SetAdapter (recyclerAdapter); recyclerAdapter.ItemClick += ItemClicked; progressDialog.Hide (); if (isRefreshing == true) { Toast.MakeText (Activity, "Data terkini telah dimuatkan..", ToastLength.Short).Show (); } } else { recyclerAdapter.NotifyDataSetChanged (); } }); } //return listData; }