public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { if (holder.GetType() == typeof(OutletItemFISHolder)) { OutletItemFISHolder vh = (OutletItemFISHolder)holder; vh.BindItem(OutletItem); } else if (holder.GetType() == typeof(OutletItemTaskHolder)) { OutletItemTaskHolder vh = (OutletItemTaskHolder)holder; vh.BindItem(OutletItemTask); } else if (holder.GetType() == typeof(OutletItemRemarkHolder)) { OutletItemRemarkHolder vh = (OutletItemRemarkHolder)holder; vh.BindItem(OutletItemRCS); } else if (holder.GetType() == typeof(OutletItemSalesHolder)) { OutletItemSalesHolder vh = (OutletItemSalesHolder)holder; vh.BindItem(OutletItemChartList); } else if (holder.GetType() == typeof(OutletItemSalesTableHolder)) { OutletItemSalesTableHolder vh = (OutletItemSalesTableHolder)holder; vh.BindItem(OutletItemSalesOutlet, mLKWk); } }
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { if (holder.GetType() == typeof(DummyLoadingViewHolder)) { return; } Post currentPost = GetPost(position); RecyclerViewHolder currentViewHolder = (RecyclerViewHolder)holder; // update data #pragma warning disable CS0618 currentViewHolder.Title.TextFormatted = Html.FromHtml(currentPost.Title.Rendered); // author MediaAuthor author = currentPost.Embedded.Author.FirstOrDefault(); currentViewHolder.Author.Text = author != null ? author.Name : "Unknown"; Glide.With(context) .Load(currentPost.Embedded.WpFeaturedMedia.FirstOrDefault().SourceUrl) .Apply(glideOptions) .Into(currentViewHolder.ThumbnailImage); }
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { base.OnBindViewHolder(holder, GetActualPosition(position)); // because of getCurrentPosition may return ViewHolder�es position, // so we must reset mPosition if exists. //ViewHolderDelegate.setPosition(holder, position); if (mPositionField == null) { try { mPositionField = holder.GetType().GetField("mPosition", BindingFlags.NonPublic | BindingFlags.Instance); } catch (NoSuchFieldException e) { //Log.i(TAG, "The holder doesn't have a mPosition field."); } } if (mPositionField != null) { try { mPositionField.SetValue(holder, position); } catch (Java.Lang.Exception e) { //Log.w(TAG, "Error while updating holder's mPosition field", e); } } }
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { if (holder.GetType() == typeof(DashboardItemvwTEHolder)) { DashboardItemvwTEHolder vh = (DashboardItemvwTEHolder)holder; vh.BindItem(mVwTE); } else if (holder.GetType() == typeof(DashboardItemRCSTEHolder)) { DashboardItemRCSTEHolder vh = (DashboardItemRCSTEHolder)holder; vh.BindItem(mRCSTE); } else if (holder.GetType() == typeof(DashboardItemvwSalesTEChartHolder)) { DashboardItemvwSalesTEChartHolder vh = (DashboardItemvwSalesTEChartHolder)holder; vh.BindItem(mVwSalesTEChart); } else if (holder.GetType() == typeof(DashboardItemvwSalesTEHolder)) { DashboardItemvwSalesTEHolder vh = (DashboardItemvwSalesTEHolder)holder; vh.BindItem(mVwSalesTE, mLKWk); } }
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { if (Utils.ObjectUtility.CheckInherit(holder.GetType(), typeof(RecyclerViewHolder))) { RecyclerViewHolder recyclerViewHolder = (RecyclerViewHolder)holder; Android.Views.Animations.Animation animation = AnimationUtils.LoadAnimation(context, Resource.Animation.anim_recycler_item_show); recyclerViewHolder.mView.StartAnimation(animation); AlphaAnimation aa1 = new AlphaAnimation(1.0f, 0.1f); aa1.Duration = 400; recyclerViewHolder.rela_round.StartAnimation(aa1); AlphaAnimation aa = new AlphaAnimation(0.1f, 1.0f); aa.Duration = 400; if (color == 1) { recyclerViewHolder.rela_round.BackgroundTintList = ColorStateList.ValueOf(new Android.Graphics.Color(Utils.AppUtils.GetColor(context, Resource.Color.google_blue))); } else if (color == 2) { recyclerViewHolder.rela_round.BackgroundTintList = ColorStateList.ValueOf(new Android.Graphics.Color(Utils.AppUtils.GetColor(context, Resource.Color.google_green))); } else if (color == 3) { recyclerViewHolder.rela_round.BackgroundTintList = ColorStateList.ValueOf(new Android.Graphics.Color(Utils.AppUtils.GetColor(context, Resource.Color.google_yellow))); } else if (color == 4) { recyclerViewHolder.rela_round.BackgroundTintList = ColorStateList.ValueOf(new Android.Graphics.Color(Utils.AppUtils.GetColor(context, Resource.Color.google_red))); } else { recyclerViewHolder.rela_round.BackgroundTintList = ColorStateList.ValueOf(new Android.Graphics.Color(Utils.AppUtils.GetColor(context, Resource.Color.gray))); } recyclerViewHolder.rela_round.StartAnimation(aa); recyclerViewHolder.mView.SetOnClickListener(new RecycleViewHolderClick(context, recyclerViewHolder, color)); } }
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { switch (holder) { case TItemViewHolder itemViewHolder: itemViewHolder.Item = currentItems[position - HeaderOffset].WrappedItem; break; case TSectionViewHolder sectionViewHolder: sectionViewHolder.Item = currentItems[position - HeaderOffset].WrappedSection; break; default: if (TryBindCustomViewType(holder, position) == false) { throw new InvalidOperationException($"{holder.GetType().Name} was not bound to position {position}"); } break; } }
public sealed override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { switch (holder) { case TItemViewHolder itemViewHolder: itemViewHolder.Item = GetItemFromAdapterPosition(position); break; case TSectionViewHolder sectionViewHolder: sectionViewHolder.Item = GetSectionListFromAdapterPosition(position); break; default: if (TryBindCustomViewType(holder, position) == false) { throw new InvalidOperationException($"{holder.GetType().Name} was not bound to position {position}"); } break; } }
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { switch (holder) { case ReportsItemCellViewHolder reportsViewHolder: reportsViewHolder.Item = currentReportsSummaryData.Segments[position - headerItemsCount]; reportsViewHolder.IsLastItem = position == ItemCount - 1; reportsViewHolder.RecalculateSize(); break; case ReportsWorkspaceNameViewHolder reportsWorkspaceHolder: reportsWorkspaceHolder.Item = currentWorkspaceName; break; case ReportsHeaderCellViewHolder reportsSummaryHolder: reportsSummaryHolder.Item = currentReportsSummaryData; if (currentBarChartData.HasValue) { var barChartView = holder.ItemView.FindViewById <BarChartView>(Resource.Id.BarChartView); var barChartTopLegendGroup = holder.ItemView.FindViewById <Group>(Resource.Id.WorkspaceBillableGroup); var barChartData = currentBarChartData.GetValueOrDefault(); barChartView.BarChartData = barChartData; barChartTopLegendGroup.Visibility = barChartData.WorkspaceIsBillable ? ViewStates.Visible : ViewStates.Gone; } break; default: throw new InvalidOperationException($"Tried to bind unexpected viewholder {holder?.GetType().Name ?? "null"}"); } }
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { TaskViewHolder vh; Type thisType = holder.GetType(); OnBind = true; if (Curator) { if (position == 0) { return; } } if (position == 0 || (Curator && position == 1)) { // Activity description + entered names (if required) vh = holder as TaskViewHolderName; if (vh == null) { return; } vh.Title.Text = description; vh.Description.Text = context.Resources.GetString(Resource.String.TasksTitle); ((TaskViewHolderName)vh).NameSection.Visibility = (reqName) ? ViewStates.Visible : ViewStates.Gone; ((TaskViewHolderName)vh).EnteredNames.Text = names; return; } if (position == Items.Count - 1) { // Finish button if (holder is ButtonViewHolder bvh) { bvh.Button.Enabled = true; } return; } string taskType = Items[position].TaskType.IdName; if (thisType == typeof(TaskViewHolderInfo)) { AdditionalInfoData taskInfo = JsonConvert.DeserializeObject <AdditionalInfoData>(Items[position].JsonData); vh = holder as TaskViewHolderInfo; Items[position].IsCompleted = true; if (!string.IsNullOrWhiteSpace(taskInfo.ImageUrl)) { Items[position].ImageUrl = taskInfo.ImageUrl; } TaskViewHolderInfo taskViewHolderInfo = (TaskViewHolderInfo)vh; if (taskViewHolderInfo != null) { taskViewHolderInfo.Button.Visibility = (string.IsNullOrWhiteSpace(taskInfo.ExternalUrl)) ? ViewStates.Gone : ViewStates.Visible; } } else if (thisType == typeof(TaskViewHolderRecordAudio)) { vh = holder as TaskViewHolderRecordAudio; if (vh != null) { ((TaskViewHolderRecordAudio)vh).StartTaskButton.Text = context.Resources.GetString(Resource.String.StartBtn); if (!string.IsNullOrWhiteSpace(Items[position].CompletionData.JsonData)) { List <string> audioPaths = JsonConvert.DeserializeObject <List <string> >(Items[position].CompletionData.JsonData); ((TaskViewHolderRecordAudio)vh).ShowResults(audioPaths, context); Items[position].IsCompleted = true; } else { Items[position].IsCompleted = false; ((TaskViewHolderRecordAudio)vh).ClearResults(); } } } else if (thisType == typeof(TaskViewHolderRecordVideo)) { vh = holder as TaskViewHolderRecordVideo; if (vh != null) { ((TaskViewHolderRecordVideo)vh).StartTaskButton.Text = context.Resources.GetString(Resource.String.RecBtn); if (!string.IsNullOrWhiteSpace(Items[position].CompletionData.JsonData)) { List <string> videoPaths = JsonConvert.DeserializeObject <List <string> >(Items[position].CompletionData.JsonData); ((TaskViewHolderRecordVideo)vh).ShowResults(videoPaths, context); Items[position].IsCompleted = true; } else { Items[position].IsCompleted = false; ((TaskViewHolderRecordVideo)vh).ClearResults(); } } } else if (thisType == typeof(TaskViewHolderResultList)) { vh = holder as TaskViewHolderResultList; bool btnEnabled = true; string btnText; if (taskType == "DRAW" || taskType == "DRAW_PHOTO") { btnText = context.Resources.GetString(Resource.String.StartDrawBtn); if (taskType == "DRAW_PHOTO") { btnEnabled = !int.TryParse(Items[position].JsonData, out var idResult) || GetTaskWithId(idResult).IsCompleted; if (!btnEnabled) { btnText = context.Resources.GetString(Resource.String.TaskBtnNotReady); } } } else { btnText = context.Resources.GetString(Resource.String.TakePhotoBtn); } if (vh != null) { ((TaskViewHolderResultList)vh).StartTaskButton.Text = btnText; ((TaskViewHolderResultList)vh).StartTaskButton.Enabled = btnEnabled; if (!string.IsNullOrWhiteSpace(Items[position].CompletionData.JsonData)) { List <string> photoPaths = JsonConvert.DeserializeObject <List <string> >(Items[position].CompletionData.JsonData); ((TaskViewHolderResultList)vh).ShowResults(photoPaths, context); Items[position].IsCompleted = true; } else { Items[position].IsCompleted = false; ((TaskViewHolderResultList)vh).ClearResults(); } } } else if (thisType == typeof(TaskViewHolderBtn)) { vh = holder as TaskViewHolderBtn; string btnText = context.Resources.GetString(Resource.String.TaskBtn); if (taskType == "LISTEN_AUDIO") { btnText = context.Resources.GetString(Resource.String.ListenBtn); } TaskViewHolderBtn viewHolderBtn = (TaskViewHolderBtn)vh; if (viewHolderBtn != null) { viewHolderBtn.Button.Text = btnText; } } else if (thisType == typeof(TaskViewHolderTextEntry)) { vh = holder as TaskViewHolderTextEntry; if (vh != null) { ((TaskViewHolderTextEntry)vh).TextField.Text = Items[position].CompletionData.JsonData; Items[position].IsCompleted = !string.IsNullOrWhiteSpace(((TaskViewHolderTextEntry)vh).TextField.Text); } } else { if (thisType == typeof(TaskViewHolderMultipleChoice)) { vh = holder as TaskViewHolderMultipleChoice; RadioGroup radios = ((TaskViewHolderMultipleChoice)vh)?.RadioGroup; string[] choices = JsonConvert.DeserializeObject <string[]>(Items[position].JsonData); int.TryParse(Items[position].CompletionData.JsonData, out var answeredInd); if (radios != null && radios.ChildCount == 0) { int index = 0; foreach (string option in choices) { RadioButton rad = new RadioButton(context) { Text = option }; rad.SetPadding(0, 0, 0, 5); rad.TextSize = 16; radios.AddView(rad); if (Items[position].IsCompleted && answeredInd == index) { ((RadioButton)radios.GetChildAt(answeredInd)).Checked = true; } index++; } } if (answeredInd == -1) { Items[position].IsCompleted = false; } if (radios != null) { radios.CheckedChange += (sender, e) => { Items[position].IsCompleted = true; int radioButtonId = radios.CheckedRadioButtonId; View radioButton = radios.FindViewById(radioButtonId); int idx = radios.IndexOfChild(radioButton); Items[position].CompletionData.JsonData = idx.ToString(); NotifyItemChanged(Items.Count - 1); }; } } else if (thisType == typeof(TaskViewHolderMap)) { vh = holder as TaskViewHolderMap; TaskViewHolderMap mapHolder = ((TaskViewHolderMap)vh); if (taskType == "MAP_MARK") { List <Map_Location> points = JsonConvert.DeserializeObject <List <Map_Location> >(Items[position].CompletionData.JsonData); if (points != null && points.Count > 0) { if (mapHolder != null) { mapHolder.EnteredLocationsView.Visibility = ViewStates.Visible; mapHolder.EnteredLocationsView.Text = string.Format( context.Resources.GetString(Resource.String.ChosenLocations), points.Count, (points.Count > 1) ? "s" : ""); } Items[position].IsCompleted = true; } else { if (mapHolder != null) { mapHolder.EnteredLocationsView.Visibility = ViewStates.Gone; } Items[position].IsCompleted = false; } } } else { vh = holder as TaskViewHolder; } } // These apply to all task types: AndroidUtils.LoadTaskTypeIcon(Items[position].TaskType, ((TaskViewHolder)holder).TaskTypeIcon); if (!string.IsNullOrWhiteSpace(Items[position].ImageUrl)) { AndroidUtils.LoadActivityImageIntoView(vh.TaskImage, Items[position].ImageUrl, activityId, 350); } else { if (vh != null) { vh.TaskImage.Visibility = ViewStates.Gone; } } vh.Description.Text = Items[position].Description; vh.Title.Text = Items[position].TaskType.DisplayName; bool hasChildren = Items[position].ChildTasks != null && Items[position].ChildTasks.Any(); if (Items[position].TaskType.IdName == "ENTER_TEXT") { vh.LockedChildrenTease.Visibility = ViewStates.Gone; } else if (hasChildren && !Items[position].IsCompleted) { vh.LockedChildrenTease.Visibility = ViewStates.Visible; int childCount = Items[position].ChildTasks.Count(); vh.LockedChildrenTease.Text = string.Format( context.GetString(Resource.String.taskLockedParent), childCount, (childCount > 1) ? "s" : ""); } else if (hasChildren && Items[position].IsCompleted) { vh.LockedChildrenTease.Visibility = ViewStates.Visible; vh.LockedChildrenTease.Text = context.GetString(Resource.String.taskUnlockedParent); } else { vh.LockedChildrenTease.Visibility = ViewStates.Gone; } OnBind = false; }