示例#1
0
 /// <summary>
 /// Fills data from data model into the view
 /// </summary>
 /// <param name="vh">Row view</param>
 /// <param name="cardModel">Model data for row</param>
 public void UpdateCardContents(MyViewholder vh, ForecastCard cardModel)
 {
     vh.dateLabel.Text          = cardModel.DateFormated;
     vh.locationLabel.Text      = cardModel.Location;
     vh.summaryLabel.Text       = cardModel.Summary + "|" + cardModel.Temperature;
     vh.humidityLabel.Text      = cardModel.Humidity;
     vh.windSpeedLabel.Text     = cardModel.WindSpeed;
     vh.windDirectionLabel.Text = cardModel.WindDirection;
     vh.tidalLabel.Text         = cardModel.WaterLevel;
     vh.SetIcon(vh.forecastIcon, cardModel.Icon);
 }
示例#2
0
        public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            View         v      = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.forecastCard, parent, false);
            MyViewholder holder = new MyViewholder(v);

            holder.checkboxSaved.CheckedChange += (object sender, CompoundButton.CheckedChangeEventArgs e) =>
            {
                // remove saved forecast card from web API and recyclerView
                if (!e.IsChecked)
                {
                    string user_email = AuthHelper.GetInstance(context).CurrentUserEmail;
                    TidalioApi.GetInstance().DeleteCardAsync(user_email, displayData[holder.LayoutPosition]);
                    // On Checkbox uncheck
                    displayData.RemoveAt(holder.LayoutPosition);
                    NotifyItemRemoved(holder.LayoutPosition);
                }
            };
            return(holder);
        }
示例#3
0
        public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            View         v      = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.savedLocationRow, parent, false);
            MyViewholder holder = new MyViewholder(v);

            holder.deleteButton.Click += (object sender, EventArgs e) => {
                TidalioApi.GetInstance().DeleteLocationAsync(AuthHelper.GetInstance(activity).CurrentUserEmail, displayData[holder.LayoutPosition]);
                displayData.RemoveAt(holder.LayoutPosition);
                NotifyItemRemoved(holder.LayoutPosition);
            };
            holder.root.Click += (object sender, EventArgs e) => {
                if (activity is Dashboard)
                {
                    Dashboard d = (Dashboard)activity;
                    d.SearchLocation(displayData[holder.LayoutPosition]);
                }
            };

            return(holder);
        }
示例#4
0
        /// <summary>
        /// Initialize recyclerView row
        /// </summary>
        /// <param name="holder">Row view</param>
        /// <param name="position">Number showing row position</param>
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            MyViewholder h = holder as MyViewholder;

            UpdateCardContents(h, displayData[position]);
        }
示例#5
0
        /// <summary>
        /// Initialize recyclerView row
        /// </summary>
        /// <param name="holder">Row view</param>
        /// <param name="position">Number showing row position</param>
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            MyViewholder h = holder as MyViewholder;

            h.rowText.Text = displayData[position].Address;
        }