void likeAlbum(int position, LvHolder holder) { var endpoint = new AlbumEndpoint(client); ThreadPool.QueueUserWorkItem(o => endpoint.FavoriteAlbumAsync(images[position].Id)); images[position].Favorite = !images[position].Favorite; if (images[position].Favorite) { holder.button.SetImageResource(Resource.Drawable.like); } else { holder.button.SetImageResource(Resource.Drawable.dislike); } }
public override View GetView(int position, View convertView, ViewGroup parent) { if (inflater == null) { inflater = (LayoutInflater)c.GetSystemService(Context.LayoutInflaterService); } if (convertView == null) { convertView = inflater.Inflate(resource, parent, false); } LvHolder holder = new LvHolder(convertView) { NameTxt = { Text = images[position].Name } }; holder.button.Focusable = false; holder.button.FocusableInTouchMode = false; holder.button.Clickable = true; if (images[position].Favorite) { holder.button.SetImageResource(Resource.Drawable.like); } else { holder.button.SetImageResource(Resource.Drawable.dislike); } holder.button.Click += delegate { if (images[position].type == LvEntity.ImgType.IMAGE) { likeImage(position, holder); } else { likeAlbum(position, holder); } }; Glide .With(this.c) .Load(images[position].Link) .Apply(RequestOptions.CircleCropTransform()).Into(holder.Img); convertView.SetBackgroundColor(Constants.lv_Background); return(convertView); }