public override View GetView(int position, View convertView, ViewGroup parent) { var view = convertView; CameraListAdapterViewHolder holder = null; if (view != null) { holder = view.Tag as CameraListAdapterViewHolder; } object data = datas[position]; bool isGroup = deviceDic.ContainsKey(datas[position].ToString()); if (holder == null) { holder = new CameraListAdapterViewHolder(); var inflater = context.GetSystemService(Context.LayoutInflaterService).JavaCast <LayoutInflater>(); if (isGroup) { view = inflater.Inflate(Android.Resource.Layout.SimpleListItem1, parent, false); view.Tag = holder; holder.TextViewName = (TextView)view; holder.TextViewName.SetTextColor(Android.Graphics.Color.Rgb(54, 112, 212)); } else { view = inflater.Inflate(Resource.Layout.camera_list_item, parent, false); view.Tag = holder; holder.TextViewName = view.FindViewById <TextView>(Resource.Id.textViewName); holder.ImageViewSnapshot = view.FindViewById <ImageView>(Resource.Id.imageViewSnapshot); } } if (isGroup) { //it is group holder.TextViewName.Text = data.ToString(); } else { //it is device EZDeviceInfo device = (EZDeviceInfo)data; holder.TextViewName.Text = device.DeviceName; String imageUrl = device.DeviceCover; if (!TextUtils.IsEmpty(imageUrl)) { //Glide.With(context).Load(imageUrl).Placeholder().into(viewHolder.iconIv); //Glide.With(context).Load(imageUrl).Into(holder.ImageViewSnapshot); } } return(view); }
private void ListViewCamera_ItemClick(object sender, AdapterView.ItemClickEventArgs e) { EZDeviceInfo device = (EZDeviceInfo)cameraListAdapter.GetItem(e.Position); if (device.Status == 2) { Toast.MakeText(this, "设备不在线", ToastLength.Long).Show(); } else { if (device.CameraNum <= 0) { return; } EZCameraInfo camera = device.CameraInfoList[0]; Intent intent = new Intent(this, typeof(CameraLiveStreamingActivity)); intent.PutExtra(IntentConsts.ExtraDeviceInfo, device); intent.PutExtra(IntentConsts.ExtraCameraInfo, camera); StartActivity(intent); } }