private void SetContent(bool orientationChanged = false) { ContentPager.Adapter = null; adapter = GetAdapter(this.Resources.Configuration.Orientation); if (!orientationChanged || adapter == null) { adapter = new DesktopContentAdapter(SupportFragmentManager); var rowHeight = Resources.GetDimensionPixelSize(Resource.Dimension.AppCardHeightSize); var columnWidth = Resources.GetDimensionPixelSize(Resource.Dimension.AppCardWithtSize); AppsToShowForPage = ScreenUtilities.CalculateNumberOfAppsForRows(this, BtnConfig.Height, 0, rowHeight, columnWidth); int index = 0; var lst = Helper.Global.AppInfoList.Count; if (Helper.Global.AppInfoList != null && AppsToShowForPage > 0) { while (Helper.Global.AppInfoList.Count >= (index + 1) * AppsToShowForPage) { var index1 = index; adapter.AddFragmentView((i, v, b) => { var skip = index1 * AppsToShowForPage; var view = i.Inflate(Resource.Layout.AppsFragmentLayout, v, false); var grdview = view.FindViewById <GridView>(Resource.Id.DescktopAppsGrid); grdview.ItemClick -= GrdviewOnItemClick; grdview.ItemClick += GrdviewOnItemClick; var apps = Helper.Global.AppInfoList.Skip(skip).Take(AppsToShowForPage).ToList(); grdview.Adapter = new AppAdapter(this, apps); return(view); }); index++; } if (Helper.Global.AppInfoList.Count > index * AppsToShowForPage) { adapter.AddFragmentView((i, v, b) => { var skip = index * AppsToShowForPage; var view = i.Inflate(Resource.Layout.AppsFragmentLayout, v, false); var grdview = view.FindViewById <GridView>(Resource.Id.DescktopAppsGrid); grdview.ItemClick -= GrdviewOnItemClick; grdview.ItemClick += GrdviewOnItemClick; var apps = Helper.Global.AppInfoList.Skip(skip) .Take(Helper.Global.AppInfoList.Count - index * AppsToShowForPage) .ToList(); grdview.Adapter = new AppAdapter(this, apps); return(view); }); } } SetAdapter(this.Resources.Configuration.Orientation, adapter); } ContentPager.Adapter = adapter; ContentPager.SetCurrentItem(CurrentPage, false); }
private DesktopContentAdapter GetAdapter(Orientation orientation) { var adapter = _landScape; switch (orientation) { case Orientation.Landscape: adapter = _landScape; break; case Orientation.Portrait: adapter = _portrait; break; } return(adapter); }
private void SetAdapter(Orientation orientation, DesktopContentAdapter adapter) { switch (orientation) { case Orientation.Landscape: _landScape = adapter; break; case Orientation.Portrait: _portrait = adapter; break; default: _landScape = adapter; break; } }