public void SetData(GlobalSearchItem item, UINavigationController navigationController) { this.navigationController = navigationController; model = item; if (IsNew) { btnFollow.TouchUpInside += (sender, e) => { Shared.Follower.ToggleFollow(btnFollow, model, model.Id, model.Type); }; imgProfile.UserInteractionEnabled = true; imgProfile.AddGestureRecognizer(new UITapGestureRecognizer((obj) => GoToProfile())); lblTitle.UserInteractionEnabled = true; lblTitle.AddGestureRecognizer(new UITapGestureRecognizer((obj) => GoToProfile())); IsNew = false; } lblTitle.Text = item.Title; lblSubtitle.Text = item.Subtitle; lblSubtitle.Hidden = string.IsNullOrEmpty(item.Subtitle); lblFollowers.Text = LargeValueHelper.GetString(item.Followers) + " followers"; Views.SetFollowed(btnFollow, item.IsFollowing); imageTask?.Cancel(item.ProfileUrl); if (!string.IsNullOrEmpty(item.ProfileUrl)) { imageTask = new ImageLoaderHelper(item.ProfileUrl, imgProfile, "DefaultProfile", null, new CircleTransformation()); } }
int GetType(GlobalSearchItem item, int position) { if (string.IsNullOrEmpty(item.Id)) { return(0); } else { return(1); } }
public void SetData(GlobalSearchItem item) { if (!string.IsNullOrEmpty(item.Title)) { lblTitle.Text = item.Title; } else { var str = string.Concat(item.Type.ToString().Select(x => Char.IsUpper(x) ? " " + x : x.ToString())).TrimStart(' '); // Add spaces lblTitle.Text = str + "s"; } }
public UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath, GlobalSearchItem item) { if (GetType(item) == 0) { var cell = tableView.DequeueReusableCell("SearchHeaderCell", indexPath) as SearchHeaderCell; cell.SetData(item); cell.SelectionStyle = UITableViewCellSelectionStyle.None; return(cell); } else { var cell = tableView.DequeueReusableCell("SearchCell", indexPath) as SearchCell; cell.SetData(item, NavigationController); cell.SelectionStyle = UITableViewCellSelectionStyle.None; return(cell); } }
void GoToProfile(GlobalSearchItem item) { if (item.Type == FeedType.Team) { Navigator.GoToTeamProflie(item.Id); } if (item.Type == FeedType.School) { Navigator.GoToSchoolProflie(item.Id); } if (item.Type == FeedType.Sport) { Navigator.GoToSportProflie(item.Id); } if (item.Type == FeedType.ContentSource) { Navigator.GoToContentSource(item.Id); } if (item.Type == FeedType.User) { Navigator.GoToUserProflie(item.Id); } }
View GetView(GlobalSearchItem item, int position, View convertView, ViewGroup parent) { View view = convertView; if (view == null) { if (GetType(item, position) == 0) { view = LayoutInflater.Inflate(Resource.Layout.SearchHeaderItem, null); } else { view = LayoutInflater.Inflate(Resource.Layout.SearchItem, null); view.FindViewById <Button>(Resource.Id.btnFollow).Click += (sender, args) => { var model = adapter.Items[(int)view.Tag]; Fanword.Android.Shared.Follower.FollowToggle(this, sender as Button, model, model.Id, model.Type); }; view.FindViewById <TextView>(Resource.Id.lblTitle).Click += (sender, args) => { var model = adapter.Items[(int)view.Tag]; GoToProfile(model); }; view.FindViewById <ImageViewAsync>(Resource.Id.imgProfile).Click += (sender, args) => { var model = adapter.Items[(int)view.Tag]; GoToProfile(model); }; } } view.Tag = position; if (GetType(item, position) == 0) { if (!string.IsNullOrEmpty(item.Title)) { view.FindViewById <TextView>(Resource.Id.lblTitle).Text = item.Title; } else { var str = string.Concat(item.Type.ToString().Select(x => Char.IsUpper(x) ? " " + x : x.ToString())).TrimStart(' '); // Add spaces view.FindViewById <TextView>(Resource.Id.lblTitle).Text = str + "s"; } } else { view.FindViewById <TextView>(Resource.Id.lblTitle).Text = item.Title; view.FindViewById <TextView>(Resource.Id.lblSubtitle).Text = item.Subtitle; view.FindViewById <TextView>(Resource.Id.lblSubtitle).Visibility = string.IsNullOrEmpty(item.Subtitle) ? ViewStates.Gone : ViewStates.Visible; view.FindViewById <TextView>(Resource.Id.lblFollowers).Text = LargeValueHelper.GetString(item.Followers) + " followers"; var profileImageView = view.FindViewById <ImageViewAsync>(Resource.Id.imgProfile); Picasso.With(this).Load(item.ProfileUrl).Resize(100, 100).CenterCrop().OnlyScaleDown().Placeholder(Resource.Drawable.DefProfPic).Transform(new PiccasoCircleTransformation()).Into(profileImageView); /* * * profileImageView.Tag?.CancelPendingTask(item.ProfileUrl); * var task = ImageService.Instance.LoadUrl(item.ProfileUrl) * .Retry(3, 300) * .LoadingPlaceholder(Resource.Drawable.DefProfPic.ToString(), ImageSource.CompiledResource) * .DownSample(100) * .Transform(new CircleTransformation()) * .Into(profileImageView); * * profileImageView.Tag = new ImageLoaderHelper(task);*/ Views.SetFollowed(view.FindViewById <Button>(Resource.Id.btnFollow), item.IsFollowing); } return(view); }