public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { ExerciseSearchViewHolder viewHolder = holder as ExerciseSearchViewHolder; viewHolder.txtName.Text = exercises[position].name; viewHolder.txtTargetArea.Text = exercises[position].targetArea; }
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) { View itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.SearchFragmentRow, parent, false); ExerciseSearchViewHolder viewHolder = new ExerciseSearchViewHolder(itemView, OnClick); viewHolder.addButton.Click += (sender, e) => { //adding a exercise to a playlist var pos = viewHolder.AdapterPosition; var exerciseName = exercises[pos].name; View addView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.SearchListViewDialog, null); Android.Support.V7.App.AlertDialog.Builder builder = new Android.Support.V7.App.AlertDialog.Builder(parent.Context); builder.SetView(addView); Android.Support.V7.App.AlertDialog alertDialog = builder.Create(); ListView listView = addView.FindViewById <ListView>(Resource.Id.searchLV); ListViewAdapter adapter = new ListViewAdapter(activity, playlistNames); listView.Adapter = adapter; listView.ItemClick += (s, item) => { var tempName = listView.GetItemAtPosition(item.Position).ToString(); dataBase.addExerciseFromPlaylist(tempName, exerciseName); alertDialog.Dismiss(); Toast.MakeText(parent.Context, "Exercise Added.", ToastLength.Short).Show(); }; alertDialog.Show(); }; viewHolder.deleteButton.Click += (sender, e) => { var pos = viewHolder.AdapterPosition; var name = exercises[pos].name; //make popup menu for confirmation of deleting from database View deleteView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.DeleteItem, null); Android.Support.V7.App.AlertDialog.Builder builder = new Android.Support.V7.App.AlertDialog.Builder(parent.Context); builder.SetView(deleteView); Android.Support.V7.App.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 Exercise?"; deleteButton.Click += delegate { dataBase.deleteExercise(name); Toast.MakeText(parent.Context, name + " deleted", ToastLength.Short).Show(); exercises.RemoveAt(pos); NotifyDataSetChanged(); alertDialog.Dismiss(); }; cancelButton.Click += delegate { //close window alertDialog.Dismiss(); }; alertDialog.Show(); }; return(viewHolder); }