public override View GetView(int position, View convertView, ViewGroup parent) { AppMenuItemViewHolder viewHolder = null; if (convertView == null) { convertView = inflater.Inflate(Resource.Layout.app_menu_item, parent, false); viewHolder = new AppMenuItemViewHolder(convertView); viewHolder.AppMenuItemButton.Click += AppMenuItemButton_Click; viewHolder.AppMenuItemText.Click += AppMenuItemText_Click; convertView.Tag = viewHolder; } if (viewHolder == null) { viewHolder = (AppMenuItemViewHolder)convertView.Tag; } SetItem(position, viewHolder); return(convertView); }
private void SetItem(int position, AppMenuItemViewHolder viewHolder) { var item = items[position]; viewHolder.AppMenuItemText.SetText(item.LeftSubItem.ResourceId); viewHolder.AppMenuItemText.Tag = position; if (item.RightSubItem != null) { viewHolder.AppMenuItemButton.SetImageResource(item.RightSubItem.ResourceId); viewHolder.AppMenuItemButton.Visibility = ViewStates.Visible; viewHolder.AppMenuItemButton.Tag = position; } else { viewHolder.AppMenuItemButton.Visibility = ViewStates.Gone; } }