/** * Notify the loader that the item at the given position has just been bound. * * @param position The position of the item. * @param itemCount The total number of items in the adapter. */ public void notifyBoundItemAt(int position, int itemCount) { if ((mLoadItemsTask == null || mLoadItemsTask.getStatus() == AsyncTask.Status.FINISHED) && (itemCount - position <= mItemsThreshold) && !mItemsProvider.hasFinished()) { mLoadItemsTask = new LoadItemsTask<>(mItemsProvider, mListener); mLoadItemsTask.execute(); } }
/** Called when items need to be reloaded. */ public void reload() { if (mLoadItemsTask != null) { mLoadItemsTask.cancel(true); } mLoadItemsTask = new LoadItemsTask<>(mItemsProvider, mListener); mLoadItemsTask.setPendingReload(true); mLoadItemsTask.execute(); }
/** Do the initial load of items. */ public void loadFirstItems() { mLoadItemsTask = new LoadItemsTask<>(mItemsProvider, mListener); mLoadItemsTask.execute(); }