public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { PlaylistViewHolder viewHolder = holder as PlaylistViewHolder; if (playlists[position].favorite == true) { viewHolder.imageButton.SetImageResource(Resource.Drawable.ic_star_green_A700_18dp); } else { viewHolder.imageButton.SetImageResource(Resource.Drawable.ic_star_border_green_A700_18dp); } viewHolder.txtName.Text = playlists[position].name; //check if exercises is null //For newly created playlists if (playlists[position].exercises == null) { viewHolder.txtDescription.Text = "0 exercises"; } else { viewHolder.txtDescription.Text = playlists[position].exercises.Count + " exercises"; } }
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) { View itemView = LayoutInflater.From(parent.Context). Inflate(Resource.Layout.PlaylistLayout, parent, false); itemView.SetOnCreateContextMenuListener(this); PlaylistViewHolder v = new PlaylistViewHolder(itemView); return(v); }
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { PlaylistViewHolder v = holder as PlaylistViewHolder; v.Title.Text = this.plists[position].Name; v.SetItemClickListener(this); if (this.plists[position].Cover == "playlist_placeholder") { v.Cover.SetImageResource(Resource.Drawable.playlist_placeholder); } else { var file = new File(this.plists[position].Cover); var opt = new BitmapFactory.Options(); opt.InJustDecodeBounds = true; BitmapFactory.DecodeFile(file.AbsolutePath, opt); opt.InSampleSize = CalculateInSampleSize(opt, 100, 100); opt.InJustDecodeBounds = false; Bitmap myBitmap = BitmapFactory.DecodeFile(file.AbsolutePath, opt); v.Cover.SetImageBitmap(myBitmap); } }
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) { View itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.PlaylistExerciseRow2, parent, false); View deleteView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.DeleteItem, null); PlaylistViewHolder viewHolder = new PlaylistViewHolder(itemView, OnClick); //click event for the favorite button viewHolder.imageButton.Click += (sender, e) => { var pos = viewHolder.AdapterPosition; var name = playlists[pos].name; if (playlists[pos].favorite == true) { //set favorite to false and update list Toast.MakeText(parent.Context, "Removed from favorites", ToastLength.Short).Show(); viewHolder.imageButton.SetImageResource(Resource.Drawable.ic_star_border_green_A700_18dp); dataBase.updateFavorite(name, false); playlists[pos].favorite = false; } else { //set favorite to true and update list Toast.MakeText(parent.Context, "Added to favorites", ToastLength.Short).Show(); viewHolder.imageButton.SetImageResource(Resource.Drawable.ic_star_green_A700_18dp); dataBase.updateFavorite(name, true); playlists[pos].favorite = true; } }; //click event for the delete button viewHolder.deleteButton.Click += (sender, e) => { var pos = viewHolder.AdapterPosition; var name = playlists[pos].name; //make popup menu for confirmation of deleting from database AlertDialog.Builder builder = new AlertDialog.Builder(parent.Context); builder.SetView(deleteView); AlertDialog alertDialog = builder.Create(); Button deleteButton = deleteView.FindViewById <Button>(Resource.Id.btnDelete); Button cancelButton = deleteView.FindViewById <Button>(Resource.Id.btnCancel); TextView txtTitle = deleteView.FindViewById <TextView>(Resource.Id.titleDelete); txtTitle.Text = "Delete Playlist?"; deleteButton.Click += delegate { dataBase.deletePlaylist(name); Toast.MakeText(parent.Context, name + " deleted", ToastLength.Short).Show(); playlists.RemoveAt(pos); NotifyDataSetChanged(); alertDialog.Dismiss(); }; cancelButton.Click += delegate { //close window alertDialog.Dismiss(); }; alertDialog.Show(); }; return(viewHolder); }