PagingListView

Additional

Language
Java
Version
N/A
Created
Aug 26, 2013
Updated
Mar 10, 2016 (Retired)
Owner
Nicolas Jafelle (nicolasjafelle)
Contributors
Tobias Preuss (johnjohndoe)
Alex Kolpa (AlexKolpa)
Eric Lee (yrulee)
Nicolas Jafelle (nicolasjafelle)
Jorge E. Hernández (lalongooo)
5
Activity
Badge
Generate
Download
Source code

PagingListView

PagingListView has the ability to add more items on it like Gmail does. Basically is a ListView with the ability to add more items on it when reaches the end of the list.
While "pull to refresh" pattern works at the top of the List and show the latest added items, the PagingListView works at the bottom of the List and shows the first added items.

Instructions - Maven Central

  1. Add this library in your build.gradle:
dependencies {
    compile 'com.github.nicolasjafelle:paginglistview:1.2'
}

Instructions - Library Module

  1. Clone the git repo
  2. Import the "PagingListView" module into your Android-gradle project.
  3. Add "PagingListView" module in your settings.gradle
  4. DONE

How to Use it

Simple create your PagingAdapter and add it to com.paging.listview.PagingListView.
You have to implements the new Pagingable interface and its onLoadMoreItems() method. For example:

listView.setHasMoreItems(true);
listView.setPagingableListener(new PagingListView.Pagingable() {
 @Override
 public void onLoadMoreItems() {
  if (pager < 3) {
   new CountryAsyncTask(false).execute();
  } else {
   listView.onFinishLoading(false, null);
  }
 }
});

Finally you can use the onFinishLoading(boolean hasMoreItems, List newItems) method to update the list.

listView.onFinishLoading(true, newItems);

Also remember to use this package in your layout files:

<com.paging.listview.PagingListView
 android:id="@+id/paging_list_view"
 android:layout_width="match_parent"
 android:layout_height="match_parent"/>

Developed By

License

Copyright 2013 Nicolas Jafelle

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.