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);
            }
        }
Example #6
0
        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;
            }
Example #10
0
            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);
            }