public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
 {
     if (viewType == 0)
     {
         View itemView        = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.account_section_row, parent, false);
         SectionViewHolder vh = new SectionViewHolder(itemView, OnClick);
         return(vh);
     }
     else if (viewType == 1)
     {
         View          itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.account_section_about_row, parent, false);
         RowViewHolder vh       = new RowViewHolder(itemView, OnClick);
         return(vh);
     }
     else if (viewType == 2)
     {
         View itemView         = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.account_login_row, parent, false);
         RowLoginViewHolder vh = new RowLoginViewHolder(itemView, OnClick);
         return(vh);
     }
     else
     {
         View itemView          = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.account_logout_row, parent, false);
         RowLogoutViewHolder vh = new RowLogoutViewHolder(itemView, OnClick);
         return(vh);
     }
 }
        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();
            }
        }