示例#1
0
 public override void OnAttach(Android.App.Activity activity)
 {
     base.OnAttach(activity);
     this.daypivot = activity as DayPivot;
 }
示例#2
0
        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);
        }