public static View ProcessHeaderCard(int position, IListItem headerViewModel, View convertView) { var vm = headerViewModel as HeaderCardViewModel; var inflater = LayoutInflater.FromContext(Application.Context); HeaderCardViewHolder viewHolder = null; if (convertView == null || convertView.Id != Resource.Id.HeaderCellMainLayout || convertView.Tag == null) { if (convertView != null) { convertView.Tag = null; } convertView = null; convertView = inflater.Inflate(Resource.Layout.HeaderCell, null, false); viewHolder = new HeaderCardViewHolder() { TopBar = convertView.FindViewById <View>(Resource.Id.HeaderTopBar), MainText = convertView.FindViewById <TextView>(Resource.Id.HeaderText), BottomBar = convertView.FindViewById <View>(Resource.Id.HeaderBottomBar), LinkedVM = vm }; convertView.Tag = viewHolder; } else { viewHolder = convertView.Tag as HeaderCardViewHolder; } viewHolder.TopBar.Visibility = vm.Position == Position.Bottom || vm.Position == Position.Middle ? ViewStates.Visible : ViewStates.Invisible; viewHolder.BottomBar.Visibility = vm.Position == Position.Top || vm.Position == Position.Middle ? ViewStates.Visible : ViewStates.Invisible; viewHolder.MainText.Text = vm.Title; return(convertView); }
public static View ProcessHeaderCard(int position, IListItem headerViewModel, View convertView) { var vm = headerViewModel as HeaderCardViewModel; var inflater = LayoutInflater.FromContext(Application.Context); HeaderCardViewHolder viewHolder = null; if (convertView == null || convertView.Id != Resource.Id.HeaderCellMainLayout || convertView.Tag == null) { if (convertView != null) convertView.Tag = null; convertView = null; convertView = inflater.Inflate(Resource.Layout.HeaderCell, null, false); viewHolder = new HeaderCardViewHolder() { TopBar = convertView.FindViewById<View>(Resource.Id.HeaderTopBar), MainText = convertView.FindViewById<TextView>(Resource.Id.HeaderText), BottomBar = convertView.FindViewById<View>(Resource.Id.HeaderBottomBar), LinkedVM = vm }; convertView.Tag = viewHolder; } else { viewHolder = convertView.Tag as HeaderCardViewHolder; } viewHolder.TopBar.Visibility = vm.Position == Position.Bottom || vm.Position == Position.Middle ? ViewStates.Visible : ViewStates.Invisible; viewHolder.BottomBar.Visibility = vm.Position == Position.Top || vm.Position == Position.Middle ? ViewStates.Visible : ViewStates.Invisible; viewHolder.MainText.Text = vm.Title; return convertView; }