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