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";
                }
            }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
            }