Example #1
0
  @Override
  public void onScroll(AbsListView view, int firstVisible, int visibleCount, int totalCount) {
    if (mObjects == null) return;

    boolean loadMore = /* maybe add a padding */
        firstVisible + visibleCount >= mObjects.getTotalQueried();

    if (loadMore) {
      mLoader.cancelLoad();

      if (getActivity() instanceof Filterable) {
        Filterable context = (Filterable) getActivity();
        if (context != null) {
          List<String> filterTypes = new ArrayList<String>();
          for (int x = 0; x < context.getFilterTypes().length; x++) {
            if (context.getFilterCheckboxes()[x]) {
              Log.w(TAG, "adding " + context.getFilterTypes()[x]);
              filterTypes.add(context.getFilterTypes()[x]);
            }
          }
          mLoader =
              mObjects.queryLaterObjects(
                  getActivity(),
                  mFeedUri,
                  totalCount,
                  filterTypes.toArray(new String[filterTypes.size()]));
        }
      } else {
        mLoader = mObjects.queryLaterObjects(getActivity(), mFeedUri, totalCount, null);
      }
    }
  }