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); } } }
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(); } }