public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { int viewType = GetItemViewType(position); if (viewType == TYPE_HEADER) { HeaderViewHolder headerViewHolder = viewHolder as HeaderViewHolder; SetSpannableString(headerViewHolder.mTransactionNumber, "Transaction #: ", mItems[position].Id.ToString()); SetSpannableString(headerViewHolder.mTransactionDate, "Date: ", GetFormattedDateTimeString(mItems[position].TransactionDateTime)); SetSpannableString(headerViewHolder.mCashier, "Cashier: ", mItems[position].CashierName); SetSpannableString(headerViewHolder.mRunner, "Runner: ", GetRunnerName(mItems[position].RunnerId)); } else if (viewType == TYPE_ITEM) { DetailsViewHolder detailsHolder = viewHolder as DetailsViewHolder; detailsHolder.mProductSizeAndName.Text = mItems[position].ProductName; string pieces = mItems[position].ProductCountOnCart > 1 ? " pcs * " : " pc * "; detailsHolder.mQuantityAndPrice.Text = mItems[position].ProductCountOnCart + pieces + string.Format("{0:n}", mItems[position].ProductPrice); detailsHolder.mOrigAmount.Visibility = mItems[position].ProductDiscountAmount > 0 ? ViewStates.Visible : ViewStates.Invisible; detailsHolder.mOrigAmount.Text = mPesoSign + string.Format("{0:n}", mItems[position].ProductOrigPrice); detailsHolder.mDiscountedAmount.Text = mPesoSign + string.Format("{0:n}", mItems[position].ProductSubTotalPrice); } else //footer { FooterViewHolder footerViewHolder = viewHolder as FooterViewHolder; footerViewHolder.mTotalAmount.Text = mPesoSign + string.Format("{0:n}", mItems[position].FooterTotalAmount); } }
public View GetHeaderView(int position, View convertView, ViewGroup parent) { HeaderViewHolder holder; if (convertView == null) { convertView = mInflater.Inflate(mHeaderResId, parent, false); holder = new HeaderViewHolder(); holder.textView = (TextView)convertView.FindViewById(Android.Resource.Id.Text1); convertView.Tag = holder; } else { holder = (HeaderViewHolder)convertView.Tag; } T item = this[position]; ICharSequence s; if (item is CharSequence) { s = (ICharSequence)item; } else { s = new Java.Lang.String(item.ToString()); } // set header text as first char in string holder.textView.SetText(s.SubSequence(0, 1), TextView.BufferType.Normal); return(convertView); }
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) { View itemView; RecyclerView.ViewHolder vh = null; switch (viewType) { case 0: itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.Header, parent, false); vh = new HeaderViewHolder(itemView); break; case 1: itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.SubHeader, parent, false); vh = new HeaderViewHolder(itemView); break; case 2: itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.MatchResult, parent, false); vh = new MatchViewHolder <MatchResultModel>(itemView, OnClickObject, this); break; default: break; } return(vh); }
public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { int type = GetItemViewType(position); if (type == TYPE_HEADER) { HeaderViewHolder myHolder = viewHolder as HeaderViewHolder; myHolder.mTransactionDate.Text = GetDate(mTransactionGroupedList[position].TransactionDateTime); myHolder.mSaleAmountAndCount.Text = GenerateTotalSaleAmountAndCount(position); } else if (type == TYPE_ITEM) { ContentViewHolder myHolder = viewHolder as ContentViewHolder; myHolder.mMainView.Click -= MMainView_Click; //unsubscibe to avoid multiple firing of clicks myHolder.mMainView.Click += MMainView_Click; //set click event for row myHolder.mTransactionId.Text = "# " + mTransactionGroupedList[position].ticketNumber.ToString(); myHolder.mTransactionTime.Text = GetTime(mTransactionGroupedList[position].TransactionDateTime); myHolder.mSaleAmount.Text = mPesoSign + string.Format("{0:n}", mTransactionGroupedList[position].SubTotalAmount); myHolder.mCustomerOrRunnerName.Text = GetCustomerOrRunnerName(mTransactionGroupedList[position].TransactionType, mTransactionGroupedList[position].CustomerOrRunnerId); myHolder.mTransactionTypeIcon.SetImageResource(GetTranstypeIconResource(mTransactionGroupedList[position].TransactionType, mTransactionGroupedList[position].isPaid)); myHolder.mTransactionTypeIcon.SetColorFilter(GetTranstypeIconColorFilter(mTransactionGroupedList[position].TransactionType, mTransactionGroupedList[position].isPaid)); myHolder.mCustomerOrRunnerIcon.SetImageResource(GetCustomerOrRunnerIcon(mTransactionGroupedList[position].TransactionType)); myHolder.mCustomerOrRunnerIcon.SetColorFilter(GetIconColorFilter(mTransactionGroupedList[position].TransactionType)); } }
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) { View itemView; if (viewType == TYPE_HEADER) { itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.transactions_fragment_receipt_preview_header, parent, false); TextView txtTransactionNumber = itemView.FindViewById <TextView>(Resource.Id.txtTransactionNumber); TextView txtTransactionDate = itemView.FindViewById <TextView>(Resource.Id.txtDate); TextView txtCashier = itemView.FindViewById <TextView>(Resource.Id.txtCashier); TextView txtRunner = itemView.FindViewById <TextView>(Resource.Id.txtRunnerName); HeaderViewHolder view = new HeaderViewHolder(itemView) { mTransactionNumber = txtTransactionNumber, mTransactionDate = txtTransactionDate, mCashier = txtCashier, mRunner = txtRunner }; return(view); } else if (viewType == TYPE_ITEM) { itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.transactions_fragment_receipt_preview_child, parent, false); TextView txtItemName = itemView.FindViewById <TextView>(Resource.Id.txtItemName); TextView txtQtyAndPrice = itemView.FindViewById <TextView>(Resource.Id.txtQtyAndPrice); TextView txtOrigAmount = itemView.FindViewById <TextView>(Resource.Id.txtOrigAmount); TextView txtDiscountedAmount = itemView.FindViewById <TextView>(Resource.Id.txtDiscountedAmount); DetailsViewHolder view = new DetailsViewHolder(itemView) { mProductSizeAndName = txtItemName, mQuantityAndPrice = txtQtyAndPrice, mOrigAmount = txtOrigAmount, mDiscountedAmount = txtDiscountedAmount }; return(view); } else //footer { itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.transactions_fragment_receipt_preview_childfooter, parent, false); TextView txtTotalAmount = itemView.FindViewById <TextView>(Resource.Id.txtTotal); FooterViewHolder view = new FooterViewHolder(itemView) { mTotalAmount = txtTotalAmount }; return(view); } }
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) { View itemView; RecyclerView.ViewHolder vh = null; switch (viewType) { case 0: itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.CenterHeader, parent, false); itemView.FindViewById <TextView>(Resource.Id.headerName).TextSize = 30; vh = new HeaderViewHolder(itemView); break; case 1: itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.LeagueNameWithFlag, parent, false); vh = new LeagueHeaderViewHolder(itemView); break; case 2: itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.ActualTile, parent, false); vh = new LiveMatchViewHolder(itemView, OnClickObject, this); break; case 3: itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.CenterHeader, parent, false); vh = new HeaderViewHolder(itemView); break; default: break; } return(vh); }
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) { View itemView; if (viewType == TYPE_HEADER) { itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.transactions_fragment_list_row_header, parent, false); TextView txtTransactionDate = itemView.FindViewById <TextView>(Resource.Id.txtDate); TextView txtSaleCountAndAmount = itemView.FindViewById <TextView>(Resource.Id.txtSaleCountAndAmount); HeaderViewHolder view = new HeaderViewHolder(itemView) { mTransactionDate = txtTransactionDate, mSaleAmountAndCount = txtSaleCountAndAmount }; return(view); } else { itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.transactions_fragment_list_row, parent, false); TextView txtTransactionNumber = itemView.FindViewById <TextView>(Resource.Id.txtTransactionNumber); TextView txtTransactionTime = itemView.FindViewById <TextView>(Resource.Id.txtTransactionTime); ImageView imgTransactionTypeIcon = itemView.FindViewById <ImageView>(Resource.Id.imgTranstypeIcon); ImageView imgCustomerOrRunnerIcon = itemView.FindViewById <ImageView>(Resource.Id.imgCustomerRunnerIcon); TextView txtSaleAmount = itemView.FindViewById <TextView>(Resource.Id.txtSaleAmount); TextView txtCustomerOrRunnerName = itemView.FindViewById <TextView>(Resource.Id.txtCustomerRunnerName); ContentViewHolder view = new ContentViewHolder(itemView) { mTransactionId = txtTransactionNumber, mTransactionTime = txtTransactionTime, mTransactionTypeIcon = imgTransactionTypeIcon, mCustomerOrRunnerIcon = imgCustomerOrRunnerIcon, mSaleAmount = txtSaleAmount, mCustomerOrRunnerName = txtCustomerOrRunnerName, }; return(view); } }
public override View GetGroupView (int groupPosition, bool isExpanded, View convertView, ViewGroup parent) { string monthName = (string) GetGroup (groupPosition); hHolder = new HeaderViewHolder (); if (convertView == null) { convertView = context.LayoutInflater.Inflate (Resource.Layout.MyHealth_list_group, null); convertView.Tag = hHolder; } else { hHolder = convertView.Tag as HeaderViewHolder; } hHolder.headHolder = convertView.FindViewById <TextView> (Resource.Id.expHeader); hHolder.headHolder.SetTypeface (null, Android.Graphics.TypefaceStyle.Bold); hHolder.headHolder.Text = monthName; return convertView; }
public override void OnBindHeaderViewHolder(RecyclerView.ViewHolder holder) { HeaderViewHolder headerHolder = (HeaderViewHolder)holder; headerHolder.TvTitle.Text = _title; }
public override View GetView(int position, View convertView, ViewGroup parent) { View view = convertView; // re-use an existing view, if one is available ViewHolder holder = null; HeaderViewHolder headerHolder = null; DataViewHolder dataHolder = null; bool firstTimeResourceLoaded = false; ListItemType @type = (ListItemType)GetItemViewType(position); if (view == null) // otherwise create a new one { firstTimeResourceLoaded = true; { switch (@type) { case ListItemType.LeftHeader: view = context.LayoutInflater.Inflate(Resource.Layout.ChatLeftSideHeaderListItem, null); holder = headerHolder = new HeaderViewHolder(); headerHolder.Name = view.FindViewById <TextView> (Resource.Id.nameTextView); headerHolder.Time = view.FindViewById <TextView> (Resource.Id.timeTextView); break; case ListItemType.RightHeader: view = context.LayoutInflater.Inflate(Resource.Layout.ChatRightSideHeaderListItem, null); holder = headerHolder = new HeaderViewHolder(); headerHolder.Name = view.FindViewById <TextView> (Resource.Id.nameTextView); headerHolder.Time = view.FindViewById <TextView> (Resource.Id.timeTextView); break; case ListItemType.Left: view = context.LayoutInflater.Inflate(Resource.Layout.ChatLeftSideListItem, null); holder = dataHolder = new DataViewHolder(); dataHolder.AvatarImageView = view.FindViewById <ImageView> (Resource.Id.avatarImageView); dataHolder.Message = view.FindViewById <TextView> (Resource.Id.bubbleTextView); break; case ListItemType.Right: view = context.LayoutInflater.Inflate(Resource.Layout.ChatRightSideListItem, null); holder = dataHolder = new DataViewHolder(); dataHolder.AvatarImageView = view.FindViewById <ImageView> (Resource.Id.avatarImageView); dataHolder.Message = view.FindViewById <TextView> (Resource.Id.bubbleTextView); break; case ListItemType.Margin: view = context.LayoutInflater.Inflate(Resource.Layout.ChatMarginHeaderListItem, null); break; default: throw new NotImplementedException(); } } if (null != dataHolder) { dataHolder.OriginalEmptyAvatarDrawable = dataHolder.AvatarImageView.Drawable; dataHolder.AvatarWidth = dataHolder.AvatarImageView.LayoutParameters.Width; dataHolder.AvatarHeight = dataHolder.AvatarImageView.LayoutParameters.Height; // if these fail, you'll need to recode the source to delay the fetching of the avatar until after the render figures out the exact dimensions of the image Contract.Assume(((dataHolder.AvatarWidth != ViewGroup.LayoutParams.MatchParent) && (dataHolder.AvatarWidth != ViewGroup.LayoutParams.WrapContent))); Contract.Assume(((dataHolder.AvatarHeight != ViewGroup.LayoutParams.MatchParent) && (dataHolder.AvatarHeight != ViewGroup.LayoutParams.WrapContent))); } // holder.LabelTextView = view.FindViewById<TextView> (Resource.Id.labelTextView); view.Tag = holder; } else { holder = view.Tag as ViewHolder; switch (@type) { case ListItemType.LeftHeader: case ListItemType.RightHeader: holder = headerHolder = (HeaderViewHolder)view.Tag; break; case ListItemType.Left: case ListItemType.Right: holder = dataHolder = (DataViewHolder)view.Tag; break; case ListItemType.Margin: break; default: throw new NotImplementedException(); } } int person = 0; { switch (position % (7 * 2)) { case 0: headerHolder.Name.Text = "Alice Apples"; headerHolder.Time.Text = "2014-02-08 11:11 am"; break; case 1: dataHolder.Message.Text = "Hello?"; break; case 2: headerHolder.Name.Text = "Bob Baker"; headerHolder.Time.Text = "2014-02-08 11:12 am"; break; case 3: person = 1; dataHolder.Message.Text = "Hello!"; break; case 4: break; case 5: person = 1; dataHolder.Message.Text = "Wassup?"; break; case 6: headerHolder.Name.Text = "Alice Apples"; headerHolder.Time.Text = "2014-02-08 11:12 am"; break; case 7: dataHolder.Message.Text = "Can you come get me at the steak house? My date turned out to be a real jerk."; break; case 8: headerHolder.Name.Text = "Bob Baker"; headerHolder.Time.Text = "2014-02-08 11:13 am"; break; case 9: person = 1; dataHolder.Message.Text = "Of course"; break; case 10: break; case 11: person = 1; dataHolder.Message.Text = "Are you somewhere warm? It's sure cold out this time of the year."; break; case 12: headerHolder.Name.Text = "Alice Apples"; headerHolder.Time.Text = "2014-02-08 11:14 am"; break; case 13: dataHolder.Message.Text = "Yes, I am warm and safe. Thanks for asking."; break; default: break; } } if (null != dataHolder) { dataHolder.CurrentDownloader = new AvatarDownloader(dataHolder); BitmapType bitmap = downloader.FetchNowOrAsyncDownload( bogusUrls [person], dataHolder.AvatarWidth, dataHolder.AvatarHeight, dataHolder.CurrentDownloader.HandleDownloaded ); if (null != bitmap) { dataHolder.AvatarImageView.SetImageDrawable(bitmap); } else { if (!firstTimeResourceLoaded) { dataHolder.AvatarImageView.SetImageDrawable(dataHolder.OriginalEmptyAvatarDrawable); // reset back to original drawable } } } return(view); }