private void SetRecyclerViewAdapters() { try { if (AppSettings.ShowUsersAsCards) { GridLayoutManager mLayoutManager = new GridLayoutManager(Activity, 2); NearByRecyclerView.SetLayoutManager(mLayoutManager); CardDateAdapter2 = new CardAdapter2(Activity); NearByRecyclerView.SetAdapter(CardDateAdapter2); CardDateAdapter2.OnItemClick += CardDateAdapter2_OnItemClick; if (MainScrollEvent != null) { return; } MainScrollEvent = new RecyclerViewOnScrollListener(mLayoutManager); NearByRecyclerView.AddOnScrollListener(MainScrollEvent); MainScrollEvent.LoadMoreEvent += SeconderScrollEventOnLoadMoreEvent; } else { StaggeredGridLayoutManager nearByLayoutManager = new StaggeredGridLayoutManager(3, LinearLayoutManager.Vertical); NearByRecyclerView.SetLayoutManager(nearByLayoutManager); NearByAdapter = new NearByAdapter(Activity); NearByAdapter.OnItemClick += NearByAdapterOnItemClick; NearByRecyclerView.SetAdapter(NearByAdapter); RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener = new RecyclerViewOnScrollListener(nearByLayoutManager, 3); MainScrollEvent = xamarinRecyclerViewOnScrollListener; MainScrollEvent.LoadMoreEvent += SeconderScrollEventOnLoadMoreEvent; NearByRecyclerView.AddOnScrollListener(xamarinRecyclerViewOnScrollListener); MainScrollEvent.IsLoading = false; } //======================================================= //Pro Recycler View ProUserAdapter = new ProUserAdapter(Activity); ProUserAdapter.OnItemClick += ProUserAdapterOnItemClick; ProRecyclerView.SetLayoutManager(new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false)); ProRecyclerView.SetItemViewCacheSize(20); ProRecyclerView.HasFixedSize = true; ProRecyclerView.NestedScrollingEnabled = false; ProRecyclerView.GetLayoutManager().ItemPrefetchEnabled = true; var sizeProviderPro = new FixedPreloadSizeProvider(10, 10); var preLoaderPro = new RecyclerViewPreloader <UserInfoObject>(Activity, ProUserAdapter, sizeProviderPro, 10); ProRecyclerView.AddOnScrollListener(preLoaderPro); ProRecyclerView.SetAdapter(ProUserAdapter); //======================================================= //Hot Or Not Recycler View HotOrNotUserAdapter = new HotOrNotUserAdapter(Activity) { UsersDateList = new ObservableCollection <UserInfoObject>() }; HotOrNotUserAdapter.HotItemClick += MAdapterOnHotItemClick; HotOrNotUserAdapter.NotItemClick += MAdapterOnNotItemClick; HotOrNotUserAdapter.ImageItemClick += MAdapterOnImageItemClick; LayoutManager = new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false); RecylerHotOrNot.SetLayoutManager(LayoutManager); //RecylerHotOrNot.SetItemViewCacheSize(20); //RecylerHotOrNot.HasFixedSize = true; //RecylerHotOrNot.GetLayoutManager().ItemPrefetchEnabled = true; RecylerHotOrNot.NestedScrollingEnabled = false; //var sizeProviderPro2 = new FixedPreloadSizeProvider(10, 10); //var preLoaderPro2 = new RecyclerViewPreloader<UserInfoObject>(Activity, HotOrNotUserAdapter, sizeProviderPro2, 10); //RecylerHotOrNot.AddOnScrollListener(preLoaderPro2); RecylerHotOrNot.SetAdapter(HotOrNotUserAdapter); RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListenerHotOrNot = new RecyclerViewOnScrollListener(LayoutManager); MainScrollEventHotOrNot = xamarinRecyclerViewOnScrollListenerHotOrNot; MainScrollEventHotOrNot.LoadMoreEvent += MainScrollEventHotOrNotOnLoadMoreEvent; RecylerHotOrNot.AddOnScrollListener(xamarinRecyclerViewOnScrollListenerHotOrNot); MainScrollEventHotOrNot.IsLoading = false; } catch (Exception e) { Console.WriteLine(e); } }