protected override void OnCreate(Bundle savedInstanceState) { try { base.OnCreate(savedInstanceState); IMethods.IApp.FullScreenApp(this); var view = MyContextWrapper.GetContentView(this, Settings.Lang, Resource.Layout.Gif_Layout); if (view != null) { SetContentView(view); } else { SetContentView(Resource.Layout.Gif_Layout); } ToolBar = FindViewById <Toolbar>(Resource.Id.toolbar); if (ToolBar != null) { ToolBar.Title = GetText(Resource.String.Lbl_SelectGif); SetSupportActionBar(ToolBar); SupportActionBar.SetDisplayShowCustomEnabled(true); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); SupportActionBar.SetDisplayShowHomeEnabled(true); } GifRecylerView = FindViewById <RecyclerView>(Resource.Id.Recyler); GifAdapter = new GifAdapter(this); MLayoutManager = new GridLayoutManager(this, 2); GifRecylerView.SetLayoutManager(MLayoutManager); GifRecylerView.AddItemDecoration(new GridSpacingItemDecoration(1, 2, true)); swipeRefreshLayout = FindViewById <SwipeRefreshLayout>(Resource.Id.swipeRefreshLayout); swipeRefreshLayout.Refreshing = true; swipeRefreshLayout.Enabled = true; swipeRefreshLayout.SetColorSchemeResources(Android.Resource.Color.HoloBlueLight, Android.Resource.Color.HoloGreenLight, Android.Resource.Color.HoloOrangeLight, Android.Resource.Color.HoloRedLight); search_key = "angry"; Get_GifData_Api(search_key); } catch (Exception e) { Crashes.TrackError(e); } }
public async void Get_GifData_Api(string key, string offset = "") { try { if (!IMethods.CheckConnectivity()) { Toast.MakeText(this, GetString(Resource.String.Lbl_Error_check_internet_connection), ToastLength.Short).Show(); } else { if (offset == "") { RunOnUiThread(() => { GifAdapter.Clear(); }); } var result = await API_Request.Search_Gifs_Web(key, offset); if (result.Count > 0) { RunOnUiThread(() => { if (GifAdapter.GifList.Count == 0) { GifAdapter.GifList = new ObservableCollection <GifGiphyClass.Datum>(result); GifRecylerView.SetAdapter(GifAdapter); } else { //Bring new item var listnew = result?.Where(c => !GifAdapter.GifList.Select(fc => fc.id).Contains(c.id)).ToList(); if (listnew.Count > 0) { var lastCountItem = GifAdapter.ItemCount; //Results differ Classes.AddRange(GifAdapter.GifList, listnew); GifAdapter.NotifyItemRangeInserted(lastCountItem, listnew.Count); } } swipeRefreshLayout.Refreshing = false; //Set Event Scroll if (OnMainScrolEvent == null) { var xamarinRecyclerViewOnScrollListener = new XamarinRecyclerViewOnScrollListener(MLayoutManager, swipeRefreshLayout); OnMainScrolEvent = xamarinRecyclerViewOnScrollListener; OnMainScrolEvent.LoadMoreEvent += Gif_OnScroll_OnLoadMoreEvent; GifRecylerView.AddOnScrollListener(OnMainScrolEvent); GifRecylerView.AddOnScrollListener(new ScrollDownDetector()); } else { OnMainScrolEvent.IsLoading = false; } }); } } if (swipeRefreshLayout.Refreshing) { swipeRefreshLayout.Refreshing = false; } } catch (Exception e) { Console.WriteLine(e); Get_GifData_Api(search_key, offset); } }