コード例 #1
0
        public override int GetItemViewType(int position)
        {
            base.GetItemViewType(position);
            SectionOrRow item = mData[position];

            if (!item.IsRow())
            {
                return(0);
            }
            else
            {
                if (item.IsLogin() && item.IsRow())
                {
                    return(2);
                }
                else if (item.IsLogout() && item.IsRow())
                {
                    return(3);
                }
                else
                {
                    return(1);
                }
            }
        }
コード例 #2
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            SectionOrRow item = mData[position];

            if (item.IsRow())
            {
                if (item.IsLogin() && item.IsRow())
                {
                    RowLoginViewHolder h = (RowLoginViewHolder)holder;
                    h.usernameTextView.Text = item.getUserData()[0];
                    h.emailTextView.Text    = item.getUserData()[1];
                    h.creditTextView.Text   = item.getUserData()[2];
                    h.pendingTextView.Text  = item.getUserData()[3];
                    h.balanceTextView.Text  = item.getUserData()[4];
                }
                else if (item.IsLogout() && item.IsRow())
                {
                    RowLogoutViewHolder h = (RowLogoutViewHolder)holder;
                    h.loginButton.Click += delegate
                    {
                        LoginActivity fragment = new LoginActivity();
                        accountActivity.FragmentManager.BeginTransaction().Replace(Resource.Id.main_container, fragment, "login").AddToBackStack(null).Commit();
                    };
                }
                else
                {
                    RowViewHolder h = (RowViewHolder)holder;
                    h.textView.Text = item.getRow();
                }
            }
            else
            {
                SectionViewHolder h = (SectionViewHolder)holder;
                h.textView.Text = item.getSection();
            }
        }