/// <summary> /// Gets the cell core. /// </summary> /// <param name="item">The item.</param> /// <param name="convertView">The convert view.</param> /// <param name="parent">The parent.</param> /// <param name="context">The context.</param> /// <returns>Android.Views.View.</returns> protected override Android.Views.View GetCellCore (Cell item, Android.Views.View convertView, ViewGroup parent, Context context) { _context = context; var view = (ExtendedTextCell)item; if (convertView == null) { convertView = new BaseCellView (context); } var control = ((LinearLayout)convertView); var mainview = (TextView)(control.GetChildAt (1) as LinearLayout).GetChildAt (0); var detailview = (TextView)(control.GetChildAt (1) as LinearLayout).GetChildAt (1); UpdateUi (view, mainview); UpdateUi (view, detailview); return convertView;; }
/// <summary> /// Gets the cell core. /// </summary> /// <param name="item">The item.</param> /// <param name="convertView">The convert view.</param> /// <param name="parent">The parent.</param> /// <param name="context">The context.</param> /// <returns>Android.Views.View.</returns> protected override Android.Views.View GetCellCore(Cell item, Android.Views.View convertView, ViewGroup parent, Context context) { _context = context; var view = (ExtendedTextCell)item; if (convertView == null) { convertView = new BaseCellView(context, item); } var cellView = convertView as BaseCellView; //Incase convertView is not longer a BaseCellView if (cellView != null) { //This is a text cell, no image required cellView.SetImageVisible(false); //Set text values cellView.MainText = view.Text; cellView.DetailText = view.Detail; //Set text colors cellView.SetMainTextColor(view.TextColor); cellView.SetDetailTextColor(view.DetailColor); //Set Background color cellView.SetBackgroundColor(view.BackgroundColor.ToAndroid()); //Set Accessory view //TODO: For some reason ShowDisclousure (sic, eventually fix spelling) is default true, which might be annoying for android users if (view.ShowDisclousure) { //TODO: Consider different default icon, perhaps no default at all var resourceId = Android.Resource.Drawable.IcMenuSend; if (!string.IsNullOrWhiteSpace(view.DisclousureImage)) { //Incase someone decides to add the extension to the file name var fileName = System.IO.Path.GetFileNameWithoutExtension(view.DisclousureImage); resourceId = _context.Resources.GetIdentifier(fileName, "drawable", context.PackageName); } var image = new ImageView(_context); image.SetImageResource(resourceId); cellView.SetAccessoryView(image); } var control = ((LinearLayout)convertView); var linearLayout = control.GetChildAt(1) as LinearLayout; if (linearLayout != null) { var mainTextView = (TextView)linearLayout.GetChildAt(0); var detailTextView = (TextView)linearLayout.GetChildAt(1); UpdateTextViewFont(view, mainTextView); UpdateTextViewFont(view, detailTextView); //if (view.ShowSeparator) //{ // linearLayout.ShowDividers = ShowDividers.None; // linearLayout.DividerPadding = (int)view.SeparatorPadding.VerticalThickness; // linearLayout.SetDividerDrawable(new ColorDrawable(view.SeparatorColor.ToAndroid())); //} } } return convertView; }