/// <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); }
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); }
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); }
/// <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]); }
/// <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; }