public override void OnAttach(Android.App.Activity activity) { base.OnAttach(activity); this.daypivot = activity as DayPivot; }
public override View GetChildView(int groupPosition, int childPosition, bool isLastChild, View convertView, ViewGroup parent) { try { var inflater = _context.GetSystemService(Context.LayoutInflaterService) as LayoutInflater; switch (groupPosition) { case 0: if (vm.EntryList.Count == 0) { try { var view4 = inflater.Inflate(Resource.Layout.NothingSelected, parent, false); return(view4); } catch (Exception ex) { var m = ex.Message; } } var result = vm.EntryList [childPosition]; bool isexisting = convertView is LinearLayout; if (isexisting && (convertView as LinearLayout).FindViewById <TextView> (Resource.Id.itemText) == null) { isexisting = false; } LinearLayout view = (isexisting ? convertView : inflater.Inflate(Resource.Layout.EntryListItem, parent, false)) as LinearLayout; var itemText = view.FindViewById <TextView> (Resource.Id.itemText); var summary = view.FindViewById <TextView> (Resource.Id.summary); SessionLog.Debug(string.Format("ItemText: {0} = {1} ({2})", vm.Period, itemText, isexisting)); itemText.SetText(result.ItemText, TextView.BufferType.Normal); summary.SetText(result.Summary, TextView.BufferType.Normal); return(view); case 1: try { bool isexisting2 = convertView is LinearLayout; if (isexisting2 && (convertView as LinearLayout).FindViewById <Button> (Resource.Id.hidead) == null) { isexisting2 = false; } LinearLayout view3 = isexisting2 ? (LinearLayout)convertView : (LinearLayout)inflater.Inflate(Resource.Layout.Ad, parent, false); if (!isexisting2) { view3.FindViewById <Button> (Resource.Id.hidead).Click += (object sender, EventArgs e) => { FoodJournal.Runtime.Navigate.ToBuyNowPage(); }; } // show moved to DayPivot // if (ad.Parent != null) // (ad.Parent as LinearLayout).RemoveView (ad); // // (view3 as LinearLayout).AddView (ad); AllAds.Add(view3); if (daypivot == null) { daypivot = FoodJournal.Runtime.Navigate.navigationContext as DayPivot; } daypivot.SetAd(vm.Period, view3); // } else { // var requestbuilder = new AdRequest.Builder (); // ad.LoadAd (requestbuilder.Build ()); // } // // //var layout = FindViewById<LinearLayout>(Resource.Id.mainlayout); // //layout.AddView(ad); // // //AdRequest re; // // //AdRequest re = new AdRequest(); // //re. // //view3.FindViewById<AdView>(Resource.Id.ad).LoadAd(re); return(view3); } catch (Exception ex) { var m = ex.Message; } return(new Button(parent.Context)); case 2: var item = vm.ItemList [childPosition]; if (convertView != null && convertView.Tag != null) { convertView = null; } // Try to reuse convertView if it's not null, otherwise inflate it from our item layout FrameLayout view2 = (convertView is FrameLayout ? convertView : inflater.Inflate(Resource.Layout.ItemListItem, parent, false)) as FrameLayout; var captionA = item.CaptionAccent; if (captionA != null) { captionA = captionA.ToUpper(); } if (captionA != null) { view2 = inflater.Inflate(Resource.Layout.ItemListSection, parent, false) as FrameLayout; view2.Tag = "this"; } var captionAccent = view2.FindViewById <TextView> (Resource.Id.captionAccent); var text = view2.FindViewById <TextView> (Resource.Id.text); // if (childPosition % 2 == 0) // { // var d = _context.Resources.GetDrawable(Resource.Drawable.divider); // view2.SetBackgroundDrawable(d); // } captionAccent.SetText(captionA, TextView.BufferType.Normal); text.SetText(item.Text, TextView.BufferType.Normal); return(view2); } } catch (Exception ex) { var ex2 = ex.Message; } return(convertView); }