private void setupMyHealthData(int page){ WebServices wbs = new WebServices (); string tokenData = Activity.Intent.GetStringExtra ("Token"); string tokenWBSRaw = wbs.getMyHealthBWRecords(tokenData,page); int totalPage = 0; Console.WriteLine ("Raw Data: {0}",tokenWBSRaw); try { var tokenWBSjson = JsonConvert.DeserializeObject<WebServices.MyHealthBodyWeightData> (tokenWBSRaw); totalPage = tokenWBSjson.W_data.total; lastPage = tokenWBSjson.W_data.last_page; Console.WriteLine("[Tab 2] Total BloodPressure: {0}",totalPage); if(totalPage != 0) { if(isRefreshing == true){ listData.Clear (); } Activity.RunOnUiThread (() => { llMHeT2ErrorLayout.Visibility = ViewStates.Gone; }); foreach(var GetData in tokenWBSjson.W_data.data) { Console.WriteLine("[Tab2] Data MDateTime: {0}",GetData.MdateTime); listData.Add(new MyHealth_BodyWeight_ListData() { mDateTime = DateTime.ParseExact(GetData.MdateTime.ToString(), "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture).ToString("dd MMM. yyyy, h:mm:ss tt"), mWeight = float.Parse (GetData.WeightValue, CultureInfo.InvariantCulture.NumberFormat).ToString("0.###### kg"), mNettWeight = GetData.LeanWeight, mBMI = float.Parse (GetData.BMI, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######"), mBoneMass = float.Parse (GetData.BoneValue, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######"), mFat = float.Parse (GetData.FatValue, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######")+" %" }); myHealthBWDateList.Add(DateTime.ParseExact(GetData.Mdatef.ToString(), "yyyy-MM-dd", CultureInfo.InvariantCulture).ToString("dd MMM. yyyy")); myHealthBWTimeList.Add(DateTime.ParseExact(GetData.Mtimef.ToString(), "HH:mm:ss", CultureInfo.InvariantCulture).ToString("h:mm:ss tt")); myHealthBWWeightList.Add(float.Parse (GetData.WeightValue, CultureInfo.InvariantCulture.NumberFormat).ToString("0.###### kg")); myHealthBWBMIList.Add(float.Parse (GetData.BMI, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######")); myHealthBWFatList.Add(float.Parse (GetData.FatValue, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######")+" %"); myHealthBWLeanWeightList.Add(float.Parse (GetData.LeanWeight, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######")); myHealthBWBoneMassList.Add(float.Parse (GetData.BoneValue, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######")); myHealthBWStatusList.Add(getBMIStatus(GetData.BMI)); } } else { Activity.RunOnUiThread (() => { llMHeT2ErrorLayout.Visibility = ViewStates.Visible; tvMHeT2ErrorStatus.Text = "Anda belum melakukan sebarang pemeriksaan berat badan di PI1M."; }); } } 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 berat badan di PI1M. Sila hubungi Pengurus PI1M berdekatan dengan anda untuk pertanyaan.")) .SetCancelable (true) .SetPositiveButton ("OK", delegate { }); alertDialog = alertDialogBuilder.Create (); alertDialog.Show (); llMHeT2ErrorLayout.Visibility = ViewStates.Visible; tvMHeT2ErrorStatus.Text = "Anda belum melakukan sebarang pemeriksaan berat badan di PI1M."; }); } if (Activity != null) { Activity.RunOnUiThread (() => { if (page == 1) { listDataBW = new MyHealth_BodyWeight_ListDataHolderList (listData); mLayoutManager = new LinearLayoutManager (Activity); recyclerView.SetLayoutManager (mLayoutManager); recyclerAdapterBW = new MyHealth_BodyWeight_RecyclerViewAdapter (Activity, listDataBW, totalPage); recyclerView.SetAdapter (recyclerAdapterBW); recyclerAdapterBW.ItemClick += ItemClicked; } else { recyclerAdapterBW.NotifyDataSetChanged (); } }); } //return listData; }
public MyHealth_BodyWeight_RecyclerViewAdapter (Activity context, MyHealth_BodyWeight_ListDataHolderList data, int totalPage) { this.context = context; mData = data; this.totalPage = totalPage; }