Beispiel #1
0
        private void SetupUiElements()
        {
            _mySimpleItemLoader = new MySimpleItemLoader();
            _mySimpleItemLoader.LoadMoreItems(ItemsPerPage);

            _gridView         = FindViewById <GridView>(Resource.Id.gridView);
            _gridviewAdapter  = new MyGridViewAdapter(this, _mySimpleItemLoader);
            _gridView.Adapter = _gridviewAdapter;
            _gridView.Scroll += KeepScrollingInfinitely;
        }
Beispiel #2
0
 private void KeepScrollingInfinitely(object sender, AbsListView.ScrollEventArgs args)
 {
     lock (_scrollLockObject)
     {
         var mustLoadMore = args.FirstVisibleItem + args.VisibleItemCount >= args.TotalItemCount - LoadNextItemsThreshold;
         if (mustLoadMore && _mySimpleItemLoader.CanLoadMoreItems && !_mySimpleItemLoader.IsBusy)
         {
             _mySimpleItemLoader.IsBusy = true;
             Log.Info(TAG, "Requested to load more items");
             _mySimpleItemLoader.LoadMoreItems(ItemsPerPage);
             _gridviewAdapter.NotifyDataSetChanged();
             _gridView.InvalidateViews();
         }
     }
 }