public UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath, PostAsAdminProfile item)
        {
            var cell = tableView.DequeueReusableCell("AdminCell", indexPath) as AdminCell;

            cell.SetData(item, Clicked);
            cell.SelectionStyle = UITableViewCellSelectionStyle.None;
            return(cell);
        }
        public void SetData(PostAsAdminProfile item, Action <PostAsAdminProfile> itemClicked)
        {
            if (IsNew)
            {
                UserInteractionEnabled = true;
                AddGestureRecognizer(new UITapGestureRecognizer((obj) =>
                {
                    itemClicked?.Invoke(model);
                }));
                IsNew = false;
            }
            model            = item;
            lblTitle.Text    = item.Title;
            lblSubtitle.Text = item.SubTitle;

            imageTask?.Cancel(item.Url);
            if (!string.IsNullOrEmpty(item.Url))
            {
                imageTask = new ImageLoaderHelper(item.Url, imgProfile, "DefaultProfile");
            }
        }
示例#3
0
        View GetAdminView(PostAsAdminProfile item, int position, View convertView, ViewGroup parent)
        {
            View view = convertView;

            if (view == null)
            {
                view = LayoutInflater.Inflate(Resource.Layout.PostAsAdminItem, null);
            }
            view.FindViewById <TextView>(Resource.Id.lblName).Text     = item.Title;
            view.FindViewById <TextView>(Resource.Id.lblSubtitle).Text = item.SubTitle;

            var profileImageView = view.FindViewById <ImageViewAsync>(Resource.Id.imgProfile);

            profileImageView.Tag?.CancelPendingTask(item.Url);
            var task = ImageService.Instance.LoadUrl(item.Url)
                       .Retry(3, 300)
                       .DownSample(200)
                       .LoadingPlaceholder(Resource.Drawable.DefProfPic.ToString(), ImageSource.CompiledResource)
                       .Into(profileImageView);

            profileImageView.Tag = new ImageLoaderHelper(task);

            return(view);
        }
 void Clicked(PostAsAdminProfile item)
 {
     AdminClicked?.Invoke(item);
     DismissViewController(true, null);
 }