// Replace the contents of a view (invoked by the layout manager) public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { try { if (viewHolder is SuggestionsAdapterViewHolder holder) { var item = NearByList[position]; if (item != null) { holder.Name.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 10); GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); holder.ImageOnline.Visibility = QuickDateTools.GetStatusOnline(item.Lastseen, item.Online) ? ViewStates.Visible : ViewStates.Gone; holder.Verified.Visibility = item.VerifiedFinal != null && item.VerifiedFinal.Value ? ViewStates.Visible : ViewStates.Gone; if (position == 1) { var height = holder.MainLayout.LayoutParameters.Height; if (height <= 450) { holder.MainLayout.LayoutParameters.Height = height + 150; } } } } } catch (Exception e) { Console.WriteLine(e); } }
public override View GetView(int position, View convertView, ViewGroup parent) { try { var view = convertView; UserInfoObject item = UsersDateList[position]; if (item == null) { return(view); } CardAdapterViewHolder holder = null; if (view != null) { holder = view.Tag as CardAdapterViewHolder; } if (holder == null) { var inflater = ActivityContext.GetSystemService(Context.LayoutInflaterService).JavaCast <LayoutInflater>(); view = inflater.Inflate(Resource.Layout.Style_DatingCardview, parent, false); string name = QuickDateTools.GetNameFinal(item); string city = !string.IsNullOrEmpty(item.City) ? item.City : ActivityContext.GetText(Resource.String.Lbl_Unknown); holder = new CardAdapterViewHolder(view) { Name = { Text = name }, City = { Text = city } }; Glide.With(ActivityContext).Load(item.Avater).Apply(new RequestOptions()).Into(holder.Image); //GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.CenterCrop, ImagePlaceholders.Drawable,false); FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, holder.Status, IonIconsFonts.Record); holder.Status.SetTextColor(Color.Green); holder.Status.Visibility = QuickDateTools.GetStatusOnline(item.Lastseen, item.Online) ? ViewStates.Visible : ViewStates.Gone; if (!holder.MainWhiteBox.HasOnClickListeners) { holder.MainWhiteBox.Click += delegate { QuickDateTools.OpenProfile(ActivityContext, "LikeAndMoveCardMach", item, holder.Image); }; } view.Tag = holder; } return(view); } catch (Exception e) { Console.WriteLine(e); return(null); } }
public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { try { if (viewHolder is CardAdapter2ViewHolder holder) { var item = UsersDateList[position]; if (item != null) { GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.ImgUser, ImageStyle.CenterCrop, ImagePlaceholders.Drawable); //holder.CountImage.Text = item.Mediafiles.Count.ToString(); if (item.Age != null) { holder.TxtName.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 20) + " , " + item.Age; } else if (!string.IsNullOrEmpty(item.Birthday) && item.Birthday != "0000-00-00" && item.Birthday != "0") { //1997-05-28 var units = item.Birthday.Split('-'); var year = Convert.ToInt32(units[0]); if (units[1][0] == '0') { units[1] = units[1][1].ToString(); } var month = Convert.ToInt32(units[1]); if (units[2][0] == '0') { units[2] = units[2][1].ToString(); } var day = Convert.ToInt32(units[2]); DateTime now = DateTime.Now; DateTime birthday = new DateTime(year, month, day); int age = now.Year - birthday.Year; if (now < birthday.AddYears(age)) { age--; } holder.TxtName.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 20) + " , " + age; } else { holder.TxtName.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 20); } } } } catch (Exception e) { Console.WriteLine(e); } }
// Replace the contents of a view (invoked by the layout manager) public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { try { if (viewHolder is UsersAdapterViewHolder holder) { var item = UserList[position]; if (item != null) { GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); holder.ImageOnline.Visibility = QuickDateTools.GetStatusOnline(item.Lastseen, item.Online) ? ViewStates.Visible: ViewStates.Gone; holder.Name.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 14); switch (NameButton) { case "FavoriteUsers": holder.Button.Text = ActivityContext.GetString(Resource.String.Lbl_UnFavorite); break; case "Friends": { if (item.IsFriend != null && item.IsFriend.Value) { holder.Button.Text = ActivityContext.GetString(Resource.String.Lbl_UnFriend); holder.Button.Tag = "true"; } else if (item.IsFriend != null && !item.IsFriend.Value) { if (item.IsFriendRequest != null && !item.IsFriendRequest.Value) { holder.Button.Text = ActivityContext.GetString(Resource.String.Lbl_AddFriend); holder.Button.Tag = "false"; } else { holder.Button.Text = ActivityContext.GetString(Resource.String.Lbl_UnFriend); holder.Button.Tag = "true"; } } } break; } } } } catch (Exception e) { Console.WriteLine(e); } }
// Replace the contents of a view (invoked by the layout manager) public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { try { if (viewHolder is NotificationsAdapterViewHolder holder) { var item = NotificationsList[position]; if (item != null) { holder.UserNameNoitfy.Text = QuickDateTools.GetNameFinal(item.Notifier); GlideImageLoader.LoadImage(ActivityContext, item.Notifier.Avater, holder.ImageUser, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); if (item.Type == "got_new_match") { holder.CircleIcon.SetBackgroundResource(Resource.Drawable.Shape_Radius_Gradient_Btn3); if (holder.IconNotify.Text != IonIconsFonts.IosHeart) { FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, holder.IconNotify, IonIconsFonts.IosHeart); } } else if (item.Type == "like") { holder.CircleIcon.SetBackgroundResource(Resource.Drawable.Shape_Radius_Gradient_Btn2); if (holder.IconNotify.Text != IonIconsFonts.HeartBroken) { FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, holder.IconNotify, IonIconsFonts.HeartBroken); } } else if (item.Type == "visit") { holder.CircleIcon.SetBackgroundResource(Resource.Drawable.Shape_Radius_Gradient_Btn); if (holder.IconNotify.Text != IonIconsFonts.IosEye) { FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, holder.IconNotify, IonIconsFonts.IosEye); } } holder.Description.Text = QuickDateTools.GetNotificationsText(item.Type); } } } catch (Exception e) { Console.WriteLine(e); } }
public void OpenDialogMatchFound(UserInfoObject dataUser) { try { DataUser = dataUser; AlertDialogMatchFound = new Dialog(Activity, AppSettings.SetTabDarkTheme ? Resource.Style.MyTheme_Dark_Base : Resource.Style.MyTheme_Base); AlertDialogMatchFound.SetContentView(Resource.Layout.DialogMatchFound); SetTransparentBackground(AlertDialogMatchFound.Window); AlertDialogMatchFound.Window.SetGravity(GravityFlags.Center); var image1 = AlertDialogMatchFound.FindViewById <ImageView>(Resource.Id.Iconimage); var image2 = AlertDialogMatchFound.FindViewById <ImageView>(Resource.Id.Iconimage2); GlideImageLoader.LoadImage(Activity, dataUser.Avater, image1, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); GlideImageLoader.LoadImage(Activity, UserDetails.Avatar, image2, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); var subTitle = AlertDialogMatchFound.FindViewById <TextView>(Resource.Id.secondarytextview); subTitle.Text = Activity.GetText(Resource.String.Lbl_YouAnd) + " " + QuickDateTools.GetNameFinal(dataUser) + " " + Activity.GetText(Resource.String.Lbl_SubTitle_Match); Button btnSkipMatch = AlertDialogMatchFound.FindViewById <Button>(Resource.Id.skippButton); Button btnNextMatch = AlertDialogMatchFound.FindViewById <Button>(Resource.Id.NextButton); btnSkipMatch.Click += BtnSkipMatchOnClick; btnNextMatch.Click += BtnNextMatchOnClick; AlertDialogMatchFound.Show(); //got_new_match var data = ListUtils.MatchList.FirstOrDefault(a => a.Notifier.Id == dataUser.Id); if (data == null) { ListUtils.MatchList.Add(new GetNotificationsObject.Datum() { Notifier = dataUser, Type = "got_new_match" }); } } catch (Exception e) { Console.WriteLine(e); } }
// Replace the contents of a view (invoked by the layout manager) public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { try { if (viewHolder is HotOrNotUserAdapterViewHolder holder) { var item = UsersDateList[position]; if (item != null) { GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.FitCenter, ImagePlaceholders.Drawable); holder.Name.Text = QuickDateTools.GetNameFinal(item); } } } catch (Exception e) { Console.WriteLine(e); } }
// Replace the contents of a view (invoked by the layout manager) public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { try { if (viewHolder is ProUserAdapterViewHolder holder) { var item = ProUserList[position]; if (item != null) { //holder.Circleindicator.Status = InsLoadingView.Statuses.Loading; //holder.Circleindicator.SetStartColor(Color.ParseColor(AppSettings.StartColor)); //holder.Circleindicator.SetEndColor(Color.ParseColor(AppSettings.EndColor)); GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); if (item.Type != "Your") { //holder.Circleindicator.Status = InsLoadingView.Statuses.Unclicked; holder.IconCircle.Visibility = ViewStates.Gone; holder.IconStory.Visibility = ViewStates.Gone; holder.Name.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 20); } else { holder.Name.Text = ActivityContext.GetString(Resource.String.Lbl_AddMe); } if (!holder.Circleindicator.HasOnClickListeners) { holder.Circleindicator.Click += (sender, e) => Click(new ProUserAdapterClickEventArgs { View = holder.MainView, Position = position, Image = holder.Circleindicator }); } } } } catch (Exception exception) { Console.WriteLine(exception); } }
// Replace the contents of a view (invoked by the layout manager) public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { try { if (viewHolder is FriendRequestsAdapterViewHolder holder) { var item = UserList[position]; if (item != null) { GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); holder.Name.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 35); holder.About.Text = ActivityContext.GetString(Resource.String.Lbl_Last_seen) + " " + Methods.Time.TimeAgo(int.Parse(item.Lastseen), false); } } } catch (Exception exception) { Console.WriteLine(exception); } }
// Replace the contents of a view (invoked by the layout manager) public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { try { if (viewHolder is FavoriteUserAdapterViewHolder holder) { var item = UserList[position]; if (item != null) { GlideImageLoader.LoadImage(ActivityContext, item.UserData.Avater, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); holder.ImageOnline.Visibility = QuickDateTools.GetStatusOnline(item.UserData.Lastseen, item.UserData.Online) ? ViewStates.Visible : ViewStates.Gone; holder.Name.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item.UserData), 14); holder.Button.Text = ActivityContext.GetString(Resource.String.Lbl_UnFavorite); } } } catch (Exception e) { Console.WriteLine(e); } }
// Replace the contents of a view (invoked by the layout manager) public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { try { if (viewHolder is UsersAdapterViewHolder holder) { var item = UserList[position]; if (item != null) { if (!item.Avater.Contains(Client.WebsiteUrl)) { item.Avater = Client.WebsiteUrl + "/" + item.Avater; } GlideImageLoader.LoadImage(ActivityContext, item.Avater, holder.Image, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); holder.ImageOnline.Visibility = QuickDateTools.GetStatusOnline(item.Lastseen, item.Online) ? ViewStates.Visible : ViewStates.Gone; holder.Name.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item), 14); holder.LastTimeOnline.Text = Methods.Time.TimeAgo(int.Parse(item.Lastseen), false); switch (NameButton) { case "ILikedUsers": holder.Button.SetImageResource(Resource.Drawable.ic_action_remove_heart); break; case "IDislikedUsers": holder.Button.SetImageResource(Resource.Drawable.ic_action_remove_heart); break; case "Friends": holder.Button.SetImageResource(Resource.Drawable.ic_action_person_add_disabled); holder.Button.SetColor(Color.ParseColor(AppSettings.MainColor)); break; } } } } catch (Exception e) { Console.WriteLine(e); } }
private void Initialize(LastChatAdapterViewHolder holder, GetConversationListObject.DataConversation item) { try { GlideImageLoader.LoadImage(ActivityContext, item.User.Avater, holder.ImageAvatar, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); string name = QuickDateTools.GetNameFinal(item.User); if (holder.TxtUsername.Text != name) { holder.TxtUsername.Text = name; } //If message contains Media files switch (item.MessageType) { case "text": { holder.LastMessagesIcon.Visibility = ViewStates.Gone; holder.TxtLastMessages.Text = item.Text.Contains("http") ? Methods.FunString.SubStringCutOf(item.Text, 30) : Methods.FunString.DecodeString(Methods.FunString.SubStringCutOf(item.Text, 30)) ?? ActivityContext.GetText(Resource.String.Lbl_SendMessage); break; } case "media": { holder.LastMessagesIcon.Visibility = ViewStates.Visible; FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, holder.LastMessagesIcon, IonIconsFonts.Images); holder.TxtLastMessages.Text = Application.Context.GetText(Resource.String.Lbl_SendImageFile); break; } case "sticker" when item.Sticker.Contains(".gif"): { holder.LastMessagesIcon.Visibility = ViewStates.Visible; FontUtils.SetTextViewIcon(FontsIconFrameWork.FontAwesomeLight, holder.LastMessagesIcon, FontAwesomeIcon.Gift); holder.TxtLastMessages.Text = Application.Context.GetText(Resource.String.Lbl_SendGifFile); break; } case "sticker": { holder.LastMessagesIcon.Visibility = ViewStates.Visible; FontUtils.SetTextViewIcon(FontsIconFrameWork.IonIcons, holder.LastMessagesIcon, IonIconsFonts.Happy); holder.TxtLastMessages.Text = Application.Context.GetText(Resource.String.Lbl_SendStickerFile); break; } } //last seen time holder.TxtTimestamp.Text = Methods.Time.ReplaceTime(item.Time); //Check read message if (item.FromId != null && item.ToId != null && item.ToId != UserDetails.UserId && item.FromId == UserDetails.UserId) { if (item.Seen == 0) { holder.ImageColor.Visibility = ViewStates.Invisible; holder.TxtUsername.SetTypeface(Typeface.Default, TypefaceStyle.Normal); holder.TxtLastMessages.SetTypeface(Typeface.Default, TypefaceStyle.Normal); } else { holder.ImageColor.Visibility = ViewStates.Invisible; holder.TxtUsername.SetTypeface(Typeface.Default, TypefaceStyle.Normal); holder.TxtLastMessages.SetTypeface(Typeface.Default, TypefaceStyle.Normal); } } else if (item.FromId != null && item.ToId != null && item.ToId == UserDetails.UserId && item.FromId != UserDetails.UserId) { if (item.Seen == 0) { holder.TxtUsername.SetTypeface(Typeface.Default, TypefaceStyle.Bold); holder.TxtLastMessages.SetTypeface(Typeface.Default, TypefaceStyle.Bold); if (item.NewMessages != 0) { var drawable = TextDrawable.InvokeBuilder().BeginConfig().FontSize(25).EndConfig().BuildRound(item.NewMessages.ToString(), Color.ParseColor(AppSettings.MainColor)); holder.ImageColor.SetImageDrawable(drawable); holder.ImageColor.Visibility = ViewStates.Visible; } else { holder.ImageColor.Visibility = ViewStates.Invisible; } } else { holder.ImageColor.Visibility = ViewStates.Invisible; holder.TxtUsername.SetTypeface(Typeface.Default, TypefaceStyle.Normal); holder.TxtLastMessages.SetTypeface(Typeface.Default, TypefaceStyle.Normal); } } } catch (Exception e) { Console.WriteLine(e); } }
public void GetMyInfoData() { try { if (ListUtils.MyUserInfo.Count == 0) { var sqlEntity = new SqLiteDatabase(); sqlEntity.GetDataMyInfo(); sqlEntity.Dispose(); } PollyController.RunRetryPolicyFunction(new List <Func <Task> > { () => ApiRequest.GetInfoData(Activity, UserDetails.UserId.ToString()) }); var data = ListUtils.MyUserInfo.FirstOrDefault(); if (data != null) { GlideImageLoader.LoadImage(Activity, data.Avater, ProfileImage, ImageStyle.CircleCrop, ImagePlaceholders.Drawable); Username.Text = QuickDateTools.GetNameFinal(data); WalletNumber.Text = data.Balance.Replace(".00", ""); if (data.IsPro == "1") { #region UpgradeButton >> ViewStates.Gone //UpgradeButton.Visibility = ViewStates.Gone; //LinearLayout.LayoutParams layoutParam1 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, 100, 1f); //LinearLayout.LayoutParams layoutParam2 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, 100, 1f); //((ViewGroup)WalletButton.Parent)?.RemoveView(WalletButton); //((ViewGroup)PopularityButton.Parent)?.RemoveView(PopularityButton); //((ViewGroup)UpgradeButton.Parent)?.RemoveView(UpgradeButton); //HeaderSection.WeightSum = 2; //layoutParam1.TopMargin = 20; //layoutParam2.TopMargin = 20; //layoutParam2.MarginStart = 20; //WalletButton.LayoutParameters = layoutParam1; //PopularityButton.LayoutParameters = layoutParam2; //HeaderSection.AddView(WalletButton, layoutParam1); //HeaderSection.AddView(PopularityButton, layoutParam2); #endregion switch (data.ProType) { case "1": TxtUpgrade.Text = GetText(Resource.String.Lbl_Weekly); break; case "2": TxtUpgrade.Text = GetText(Resource.String.Lbl_Monthly); break; case "3": TxtUpgrade.Text = GetText(Resource.String.Lbl_Yearly); break; case "4": TxtUpgrade.Text = GetText(Resource.String.Lbl_Lifetime); break; default: TxtUpgrade.Text = GetText(Resource.String.Lbl_Upgrade); break; } } else { if (AppSettings.PremiumSystemEnabled) { TxtUpgrade.Text = GetText(Resource.String.Lbl_Upgrade); UpgradeButton.Visibility = ViewStates.Visible; } } if (Convert.ToInt32(data.BoostedTime) > 0) { var timeBoost = ListUtils.SettingsSiteList.FirstOrDefault()?.BoostExpireTime ?? "4"; var timeBoostSeconds = Methods.Time.ConvertMinutesToSeconds(Convert.ToDouble(timeBoost)); //240 double progressStart; double progress = 100 / timeBoostSeconds; //0.4 if (Time == null) { double progressPlus = 100 / timeBoostSeconds; Time = new TimerTime(); TimerTime.TimerCount = Time.GetTimer(); var plus1 = progressPlus; TimerTime.TimerCount.Elapsed += (sender, args) => { var plus = plus1; Activity.RunOnUiThread(() => { try { var(minutes, seconds) = Time.TimerCountOnElapsed(); if ((minutes == "" || minutes == "0") && (seconds == "" || seconds == "0")) { Time.SetStopTimer(); Time = null; TimerTime.TimerCount = null; data.BoostedTime = "0"; XtBoostMe.Text = Context.GetText(Resource.String.Lbl_BoostMe); SetStopAnimationPopularity(); progress = 0; progressStart = 0; MWaveLoadingView.CancelAnimation(); BoostButton.Tag = "Off"; } else { XtBoostMe.Text = minutes + ":" + seconds; progress += plus; progressStart = Math.Round(progress, MidpointRounding.AwayFromZero); MWaveLoadingView.ProgressValue = Convert.ToInt32(progressStart); } } catch (Exception e) { Console.WriteLine(e); } }); }; } string countTime = Time.CheckCountTime(Convert.ToInt32(data.BoostedTime)); if (countTime != "0:0" && !countTime.Contains("-") && !string.IsNullOrEmpty(countTime)) { int min = Convert.ToInt32(countTime.Split(":")[0]); int sec = Convert.ToInt32(countTime.Split(":")[1]); Time.SetMinutes(min); Time.SetSeconds(sec); Time.SetStartTimer(); XtBoostMe.Text = countTime; var minSeconds = Methods.Time.ConvertMinutesToSeconds(Convert.ToDouble(min)); //start in here progress = (timeBoostSeconds - minSeconds) * 100 / timeBoostSeconds; SetStartAnimationPopularity(); } else { Time.SetStopTimer(); Time = null; TimerTime.TimerCount = null; XtBoostMe.Text = Context.GetText(Resource.String.Lbl_BoostMe); SetStopAnimationPopularity(); BoostButton.Tag = "Off"; } } else { if (Time != null) { Time.SetStopTimer(); Time = null; TimerTime.TimerCount = null; XtBoostMe.Text = Context.GetText(Resource.String.Lbl_BoostMe); SetStopAnimationPopularity(); BoostButton.Tag = "Off"; } } } } catch (Exception e) { Console.WriteLine(e); } }
// Replace the contents of a view (invoked by the layout manager) public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { try { Position = position; var item = TrendingList[viewHolder.AdapterPosition]; if (item != null) { if (item.Type == ItemType.ProUser || item.Type == ItemType.HotOrNot) { if (viewHolder is TrendingAdapterViewHolder holder) { if (item.Type == ItemType.ProUser) { if (ProUserAdapter == null) { ProUserAdapter = new ProUserAdapter(ActivityContext) { ProUserList = new ObservableCollection <UserInfoObject>() }; LinearLayoutManager layoutManager = new LinearLayoutManager(ActivityContext, LinearLayoutManager.Horizontal, false); holder.MRecycler.SetLayoutManager(layoutManager); holder.MRecycler.GetLayoutManager().ItemPrefetchEnabled = true; holder.MRecycler.NestedScrollingEnabled = false; var sizeProvider = new FixedPreloadSizeProvider(10, 10); var preLoader = new RecyclerViewPreloader <UserInfoObject>(ActivityContext, ProUserAdapter, sizeProvider, 10); holder.MRecycler.AddOnScrollListener(preLoader); holder.MRecycler.SetAdapter(ProUserAdapter); ProUserAdapter.OnItemClick += ProUserAdapterOnOnItemClick; } int countList = item.ProUserList.Count; if (item.ProUserList.Count > 0) { if (countList > 0) { foreach (var user in from user in item.ProUserList let check = ProUserAdapter.ProUserList.FirstOrDefault(a => a.Id == user.Id) where check == null select user) { ProUserAdapter.ProUserList.Add(user); } ProUserAdapter.NotifyItemRangeInserted(countList - 1, ProUserAdapter.ProUserList.Count - countList); } else { ProUserAdapter.ProUserList = new ObservableCollection <UserInfoObject>(item.ProUserList); ProUserAdapter.NotifyDataSetChanged(); } } holder.MainLinear.Visibility = ViewStates.Visible; holder.MoreText.Visibility = ViewStates.Invisible; holder.TitleText.Text = ActivityContext.GetText(Resource.String.Lbl_ProUser); } else if (item.Type == ItemType.HotOrNot) { if (HotOrNotUserAdapter == null) { HotOrNotUserAdapter = new HotOrNotUserAdapter(ActivityContext) { UsersDateList = new ObservableCollection <UserInfoObject>() }; LinearLayoutManager layoutManager = new LinearLayoutManager(ActivityContext, LinearLayoutManager.Horizontal, false); holder.MRecycler.SetLayoutManager(layoutManager); holder.MRecycler.GetLayoutManager().ItemPrefetchEnabled = true; holder.MRecycler.NestedScrollingEnabled = false; var sizeProvider = new FixedPreloadSizeProvider(10, 10); var preLoader = new RecyclerViewPreloader <UserInfoObject>(ActivityContext, HotOrNotUserAdapter, sizeProvider, 10); holder.MRecycler.AddOnScrollListener(preLoader); holder.MRecycler.SetAdapter(HotOrNotUserAdapter); HotOrNotUserAdapter.HotItemClick += HotOrNotUserAdapterOnHotItemClick; HotOrNotUserAdapter.NotItemClick += HotOrNotUserAdapterOnNotItemClick; HotOrNotUserAdapter.ImageItemClick += HotOrNotUserAdapterOnImageItemClick; } int countList = item.HotOrNotList.Count; if (item.HotOrNotList.Count > 0) { if (countList > 0) { foreach (var user in from user in item.HotOrNotList let check = HotOrNotUserAdapter.UsersDateList.FirstOrDefault(a => a.Id == user.Id) where check == null select user) { HotOrNotUserAdapter.UsersDateList.Add(user); } HotOrNotUserAdapter.NotifyItemRangeInserted(countList - 1, HotOrNotUserAdapter.UsersDateList.Count - countList); } else { HotOrNotUserAdapter.UsersDateList = new ObservableCollection <UserInfoObject>(item.HotOrNotList); HotOrNotUserAdapter.NotifyDataSetChanged(); } } holder.MainLinear.Visibility = ViewStates.Visible; holder.MoreText.Visibility = ProUserAdapter.ProUserList?.Count >= 5 ? ViewStates.Visible : ViewStates.Invisible; holder.TitleText.Text = ActivityContext.GetText(Resource.String.Lbl_HotORNot); } } } else if (item.Type == ItemType.Users) { if (viewHolder is NearByAdapterViewHolder nearByAdapter) { FullGlideRequestBuilder.Load(item.UsersData.Avater).Into(nearByAdapter.ImgUser); nearByAdapter.TxtName.Text = Methods.FunString.SubStringCutOf(QuickDateTools.GetNameFinal(item.UsersData), 20); nearByAdapter.TxtLastSeen.Text = !string.IsNullOrEmpty(item.UsersData.LastseenTxt) ? item.UsersData.LastseenTxt : Methods.Time.TimeAgo(int.Parse(item.UsersData.Lastseen), false); nearByAdapter.OnlineIcon.Visibility = QuickDateTools.GetStatusOnline(item.UsersData.Lastseen, item.UsersData.Online) ? ViewStates.Visible : ViewStates.Gone; if (item.UsersData.IsLiked != null && item.UsersData.IsLiked.Value) { nearByAdapter.LottieAnimation.Visibility = ViewStates.Visible; nearByAdapter.LottieAnimation.PlayAnimation(); } else { nearByAdapter.LottieAnimation.Visibility = ViewStates.Gone; nearByAdapter.LottieAnimation.CancelAnimation(); nearByAdapter.LottieAnimation.Progress = 0; } } } } } catch (Exception exception) { Console.WriteLine(exception); } }