예제 #1
0
        public override Android.Views.View GetView(int position, Android.Views.View convertView, Android.Views.ViewGroup parent)
        {
            AlarmItemView _alarmItemView = null;
            var           item           = GetItem(position);

            if (convertView == null)
            {
                convertView    = LayoutInflater.From(Context).Inflate(Resource.Layout.alarmListitemView, null);
                _alarmItemView = new AlarmItemView();
                _alarmItemView.tv_alarmTrueName = convertView.FindViewById <TextView> (Resource.Id.tv_alarmTrueName);
                _alarmItemView.tv_alarmTime     = convertView.FindViewById <TextView> (Resource.Id.tv_alarmTime);
                _alarmItemView.tv_alarmStatus   = convertView.FindViewById <TextView> (Resource.Id.tv_alarmStatus);
                _alarmItemView.tv_alarmContent  = convertView.FindViewById <TextView> (Resource.Id.tv_alarmContent);

                convertView.SetTag(Resource.Id.alarmlistitemview, (Java.Lang.Object)_alarmItemView);
            }
            else
            {
                _alarmItemView = (AlarmItemView)convertView.GetTag(Resource.Id.alarmlistitemview);
            }

            _alarmItemView.tv_alarmTrueName.Text = EldYoungUtil.FormatStrVaue(item.TrueName);
            _alarmItemView.tv_alarmTime.Text     = string.IsNullOrEmpty(item.AlarmTime)?string.Empty: Convert.ToDateTime(item.AlarmTime).ToString("yyyy-MM-dd HH:mm:ss");
            _alarmItemView.tv_alarmStatus.Text   = EldYoungUtil.FormatStrVaue(item.Status);
            _alarmItemView.tv_alarmContent.Text  = EldYoungUtil.FormatStrVaue(item.AlarmContent);
            return(convertView);
        }
        private void LoadDetailData()
        {
            ProgressDialogUtil.StartProgressDialog(this, "正在加载报警详细数据...");
            if (string.IsNullOrEmpty(alarmId))
            {
                ProgressDialogUtil.StopProgressDialog();
                return;
            }
            //检测网络连接
            if (!EldYoungUtil.IsConnected(this))
            {
                Toast.MakeText(this, "网络连接超时,请检测网路", ToastLength.Short).Show();
                ProgressDialogUtil.StopProgressDialog();
                return;
            }
            alarmInfoDetailParam = new AlarmInfoDetailParam()
            {
                AId = alarmId
            };

            if (!requestParams.ContainsKey("key"))
            {
                requestParams.Add("key", alarmInfoDetailParam.Key);
            }
            else
            {
                requestParams ["eAId"] = alarmInfoDetailParam.Key;
            }
            if (!requestParams.ContainsKey("eAId"))
            {
                requestParams.Add("eAId", alarmInfoDetailParam.EaId);
            }

            if (!requestParams.ContainsKey("eaction"))
            {
                requestParams.Add("eaction", alarmInfoDetailParam.Eaction);
            }
            else
            {
                requestParams ["eaction"] = alarmInfoDetailParam.Eaction;
            }

            if (!requestParams.ContainsKey("md5"))
            {
                requestParams.Add("md5", alarmInfoDetailParam.Md5);
            }
            else
            {
                requestParams ["md5"] = alarmInfoDetailParam.Md5;
            }

            //设置restsharprequest
            if (restSharpRequestHelp == null)
            {
                restSharpRequestHelp = new RestSharpRequestHelp(alarmInfoDetailParam.Url, requestParams);
            }
            else
            {
                restSharpRequestHelp.RequestParams = requestParams;
            }
            //调用webservice
            restSharpRequestHelp.ExcuteAsync((RestSharp.IRestResponse response) => {
                if (response.ResponseStatus == ResponseStatus.Completed && response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    var result = response.Content;
                    var alarmdetailInfoJson = JsonConvert.DeserializeObject <SearchAlarmDeatilInfoJson>(result);
                    if (alarmdetailInfoJson.statuscode == "1")
                    {
                        if (alarmdetailInfoJson.data.detail.Count > 0)
                        {
                            var detail = alarmdetailInfoJson.data.detail[0];
                            RunOnUiThread(() =>
                            {
                                tv_detail_alamTime.Text      = string.IsNullOrEmpty(detail.AlarmTime)?string.Empty:Convert.ToDateTime(detail.AlarmTime).ToString("yyyy-MM-dd HH:mm:ss");
                                tv_detail_alarmContent.Text  = EldYoungUtil.FormatStrVaue(detail.AlarmContent);
                                tv_detail_alarmDeviceId.Text = EldYoungUtil.FormatStrVaue(detail.AlarmDeviceId);
                                tv_detail_alarmPosition.Text = EldYoungUtil.FormatStrVaue(detail.AlarmPosition);
                                alarmPosition                    = EldYoungUtil.FormatStrVaue(detail.AlarmPosition);
                                tv_detail_alarmWay.Text          = EldYoungUtil.FormatStrVaue(detail.AlarmWay);
                                tv_detail_cphoneNumberOne.Text   = EldYoungUtil.FormatStrVaue(detail.CPhoneNumberOne);
                                tv_detail_cTrueName.Text         = EldYoungUtil.FormatStrVaue(detail.CTrueName);
                                tv_detail_deviceElectricity.Text = EldYoungUtil.FormatStrVaue(detail.DeviceElectricity);
                                tv_detail_handleUserType.Text    = EldYoungUtil.FormatStrVaue(detail.HandleUserType);
                                tv_detail_remark.Text            = EldYoungUtil.FormatStrVaue(detail.Remark);
                                tv_detail_status.Text            = EldYoungUtil.FormatStrVaue(detail.Status);
                                tv_detail_trueName.Text          = EldYoungUtil.FormatStrVaue(detail.TrueName);
                            });
                        }

                        if (alarmdetailInfoJson.data.handdetail.Count > 0)
                        {
                            var handleDetails = alarmdetailInfoJson.data.handdetail;
                            RunOnUiThread(() =>
                            {
                                lv_handleDetail.Adapter = new AlarmHandleDetailInfoAdapter(this, handleDetails);
                            });
                        }
                        RunOnUiThread(() =>
                        {
                            ProgressDialogUtil.StopProgressDialog();
                        });
                    }
                    else
                    {
                        RunOnUiThread(() =>
                        {
                            Toast.MakeText(this, "获取报警详情信息错误...", ToastLength.Short).Show();
                            ProgressDialogUtil.StopProgressDialog();
                            return;
                        });
                    }
                }
                else if (response.ResponseStatus == ResponseStatus.TimedOut)
                {
                    RunOnUiThread(() =>
                    {
                        Toast.MakeText(this, "网络连接超时,稍后在试...", ToastLength.Short).Show();
                        ProgressDialogUtil.StopProgressDialog();

                        return;
                    });
                }
                else
                {
                    RunOnUiThread(() =>
                    {
                        Toast.MakeText(this, response.StatusDescription, ToastLength.Short).Show();
                        ProgressDialogUtil.StopProgressDialog();

                        return;
                    });
                }
            });
        }