public NewsFeedAdapter(Activity context, PRecyclerView recyclerView) { try { ActivityContext = context; MainRecyclerView = recyclerView; PreCachingLayoutManager mLayoutManager = new PreCachingLayoutManager(ActivityContext) { Orientation = LinearLayoutManager.Vertical }; mLayoutManager.SetPreloadItemCount(5); MainRecyclerView.SetLayoutManager(mLayoutManager); MainRecyclerView.GetLayoutManager().ItemPrefetchEnabled = true; FullGlideRequestBuilder = Glide.With(context).AsDrawable().SetDiskCacheStrategy(DiskCacheStrategy.Automatic).SkipMemoryCache(true).Override(550).Placeholder(new ColorDrawable(Color.ParseColor("#efefef"))); FixedPreloadSizeProvider sizeProvider = new FixedPreloadSizeProvider(10, 10); RecyclerViewPreloader <PostsObject> preLoader = new RecyclerViewPreloader <PostsObject>(context, this, sizeProvider, 8); MainRecyclerView.AddOnScrollListener(preLoader); MainRecyclerView.SetAdapter(this); PixelNewsFeedList = new ObservableCollection <PostsObject>(); ReadMoreOption = new ReadMoreOption.Builder(ActivityContext) .TextLength(200, ReadMoreOption.TypeCharacter) .MoreLabel(ActivityContext.GetText(Resource.String.Lbl_ReadMore)) .LessLabel(ActivityContext.GetText(Resource.String.Lbl_ReadLess)) .MoreLabelColor(Color.ParseColor(AppSettings.MainColor)) .LessLabelColor(Color.ParseColor(AppSettings.MainColor)) .LabelUnderLine(true) .Build(); ClickListeners = new SocialIoClickListeners(context); } catch (Exception e) { Console.WriteLine(e); } }
private void SetRecyclerViewAdapters() { try { MAdapter = new NewsFeedAdapter(Activity, MRecycler); MLayoutManager = new LinearLayoutManager(Context); MRecycler.SetLayoutManager(MLayoutManager); MRecycler.SetXAdapter(MAdapter, false); RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener = new RecyclerViewOnScrollListener(MLayoutManager); MainScrollEvent = xamarinRecyclerViewOnScrollListener; MainScrollEvent.LoadMoreEvent += MainScrollEventOnLoadMoreEvent; MRecycler.AddOnScrollListener(xamarinRecyclerViewOnScrollListener); MainScrollEvent.IsLoading = false; } catch (Exception e) { Console.WriteLine(e); } }