android-pulltorefresh-and-loadmore alternatives and similar packages
Based on the "ListView/ScrollView Widget" category.
Alternatively, view android-pulltorefresh-and-loadmore alternatives based on common mentions on social networks and blogs.
-
Android-ObservableScrollView
Android library to observe scroll events on scrollable views. -
StickyListHeaders
An android library for section headers that stick to the top -
Pull-to-Refresh.Rentals-Android
Phoenix Pull-to-Refresh -
SwipeMenuListView
[DEPRECATED] A swipe menu for ListView. -
android-pulltorefresh
DEPRECATED This project aims to provide a reusable pull to refresh widget for Android. -
pinned-section-listview
Easy to use ListView with pinned sections for Android. -
Android-SlideExpandableListView
A better ExpandableListView, with animated expandable views for each list item -
PullZoomView
An Android custom ListView and ScrollView with pull to zoom-in. -
XListView-Android
ListView supports pull refresh and pull up to load more feature. -
Discrollview
Scroll + discover = DiscrollView -
Android-HorizontalListView
HorizontalListView is an Android ListView widget which scrolls in a horizontal manner (in contrast with the SDK-provided ListView which scrolls vertically). -
CommonPullToRefresh
Android widget with pull to refresh for all the views,and support loadMore for ListView , RecyclerView, GridView and SwipeRefreshLayout. -
ListBuddies
Android library to achieve in an easy way, the behaviour of the home page in the Expedia app, with a pair of auto-scroll circular parallax ListViews. -
StickyScrollViewItems
A small android library for tagging views inside a ScrollView as "sticky" making them stick to the top of the scroll container until a new sticky view comes and takes it's place -
HorizontalVariableListView
Horizontal list view for Android which allows variable items widths -
PinnedHeaderListView
A ListView with pinned section headers for Android -
PullToRefresh-ListView
A generic, customizable, open source Android ListView implementation that has 'Pull to Refresh' functionality. -
StikkyHeader
This is a very simple library for Android that allows you to stick an header to a scrollable view and easily apply animation to it -
ParallaxScroll
Parallax ScrollView and ListView for Android -
PagedHeadListView
Android boosted ListView supporting paginated header with a new material page indicator. -
ParallaxListView
A Android ListView Demo with a parallax effect header like Path. -
FlabbyListView
Android library to display a ListView whose cells are not rigid but flabby and react to ListView scroll. -
LinearListView
Android library that allows you to bind a LinearLayout with a ListAdapter. -
ListviewFilter
Awesome Listview filter functionality in Android. -
quickscroll
[Development stopped in 2014. Unfinished and not stable - not recommended to use.] Bringing extended scrolling features to Android's native ListView and ExpandableListView. -
FloatingGroupExpandableListView
An open source Android library that provides a floating group view at the top of the ExpandableListView -
PinterestListView
Pinterest style ListView for Android -
HeaderListView
Android ListView with sticky headers -
android-accordion-view
Simple ListView based Android AccordionView -
Android-Tiling-ScrollView
A tiling scrollview to display large picture (similar to iOS "CATiledLayer") -
DragNDropList
An easy to use Drag & Drop List for Android. Direct replacement of the android ListView. -
QuickReturn
Android ListView that implements the QuickReturn UI pattern. Written from scratch with focus on performance. -
FilterSelectorListView
FilterSelectorListView
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of android-pulltorefresh-and-loadmore or a related project?
README
The first thing that i have to say is render thanks to johannilsson because all the part of pull to refresh listview is based in the code of his repository at https://github.com/johannilsson/android-pulltorefresh.
The target of this project is help other to apply the interaction pattern pull to refresh and load more on an android listview.
Costum Load more listview for android
More information about load more interaction pattern at http://www.androidpatterns.com/uap_pattern/dynamic-loading-of-a-list
Costum Pull to refresh listview for android
More information about pull to refresh interaction pattern at http://www.androidpatterns.com/uap_pattern/pull-to-refresh-2
Repository at https://github.com/shontauro/android-pulltorefresh-and-loadmore.
Usage
Layout for loadmore listview
<!-- We have to indicate that the listview is now a LoadMoreListView -->
<com.costum.android.widget.LoadMoreListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
Activity to LoadMoreListView
// set a listener to be invoked when the list reaches the end
((LoadMoreListView) getListView())
.setOnLoadMoreListener(new OnLoadMoreListener() {
public void onLoadMore() {
// Do the work to load more items at the end of list here
new LoadDataTask().execute();
}
});
private class LoadDataTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
if (isCancelled()) {
return null;
}
// Simulates a background task
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
for (int i = 0; i < mNames.length; i++)
mListItems.add(mNames[i]);
return null;
}
@Override
protected void onPostExecute(Void result) {
mListItems.add("Added after load more");
// We need notify the adapter that the data have been changed
((BaseAdapter) getListAdapter()).notifyDataSetChanged();
// Call onLoadMoreComplete when the LoadMore task, has finished
((LoadMoreListView) getListView()).onLoadMoreComplete();
super.onPostExecute(result);
}
@Override
protected void onCancelled() {
// Notify the loading more operation has finished
((LoadMoreListView) getListView()).onLoadMoreComplete();
}
}
Layout for pullandload listview
<!-- We have to indicate that the listview is now a PullAndLoadListView -->
<com.costum.android.widget.PullAndLoadListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
Activity to PullAndLoadListView
Here we have to pass two listeners one to pull operation and the other to load operation
// Set a listener to be invoked when the list should be refreshed.
((PullAndLoadListView) getListView())
.setOnRefreshListener(new OnRefreshListener() {
public void onRefresh() {
// Do work to refresh the list here.
new PullToRefreshDataTask().execute();
}
});
// set a listener to be invoked when the list reaches the end
((PullAndLoadListView) getListView())
.setOnLoadMoreListener(new OnLoadMoreListener() {
public void onLoadMore() {
// Do the work to load more items at the end of list
// here
new LoadMoreDataTask().execute();
}
});
private class LoadMoreDataTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
if (isCancelled()) {
return null;
}
// Simulates a background task
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
for (int i = 0; i < mNames.length; i++)
mListItems.add(mNames[i]);
return null;
}
@Override
protected void onPostExecute(Void result) {
mListItems.add("Added after load more");
// We need notify the adapter that the data have been changed
((BaseAdapter) getListAdapter()).notifyDataSetChanged();
// Call onLoadMoreComplete when the LoadMore task, has finished
((PullAndLoadListView) getListView()).onLoadMoreComplete();
super.onPostExecute(result);
}
@Override
protected void onCancelled() {
// Notify the loading more operation has finished
((PullAndLoadListView) getListView()).onLoadMoreComplete();
}
}
private class PullToRefreshDataTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
if (isCancelled()) {
return null;
}
// Simulates a background task
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
for (int i = 0; i < mAnimals.length; i++)
mListItems.addFirst(mAnimals[i]);
return null;
}
@Override
protected void onPostExecute(Void result) {
mListItems.addFirst("Added after pull to refresh");
// We need notify the adapter that the data have been changed
((BaseAdapter) getListAdapter()).notifyDataSetChanged();
// Call onLoadMoreComplete when the LoadMore task, has finished
((PullAndLoadListView) getListView()).onRefreshComplete();
super.onPostExecute(result);
}
@Override
protected void onCancelled() {
// Notify the loading more operation has finished
((PullAndLoadListView) getListView()).onLoadMoreComplete();
}
}
License
Licensed under the Apache License, Version 2.0
Copyright (c) 2012 Fabian Leon
*Note that all licence references and agreements mentioned in the android-pulltorefresh-and-loadmore README section above
are relevant to that project's source code only.