This project aims to provide a reusable pull to refresh widget for Android.
Repository at https://github.com/johannilsson/android-pulltorefresh.
<!--
The PullToRefreshListView replaces a standard ListView widget.
-->
<com.markupartist.android.widget.PullToRefreshListView
android:id="@+id/android:list"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
/>
// Set a listener to be invoked when the list should be refreshed.
((PullToRefreshListView) getListView()).setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh() {
// Do work to refresh the list here.
new GetDataTask().execute();
}
});
private class GetDataTask extends AsyncTask<Void, Void, String[]> {
...
@Override
protected void onPostExecute(String[] result) {
mListItems.addFirst("Added after refresh...");
// Call onRefreshComplete when the list has been refreshed.
((PullToRefreshListView) getListView()).onRefreshComplete();
super.onPostExecute(result);
}
}
It's possible to add a last updated time using the method setLastUpdated
and onRefreshComplete
. The text provided to these methods will be set below
the Release to refresh text. Note that the time representation is not validated
replaces the previous text, which means that it's possible and recommended to
add a text similar to "Last Update: 15:23". This might be changed in future
versions.
To use the widget on 1.5 the necessary drawables needs to be copied to that projects drawable folder. The drawables needed by the widget can be found in the drawable-hdpi folder in the library project.
- Jason Knight - https://github.com/synthable
- Eddie Ringle - https://github.com/eddieringle
- Christof Dorner - https://github.com/chdorner
- Olof Brickarp - https://github.com/coolof
- James Smith - https://github.com/loopj
- Alex Volovoy - https://github.com/avolovoy
- Bo Maryniuk
- kidfolk
- Tim Mahoney
- Richard Guest
If you are using this widget please feel free to add your app to the wiki.
Copyright (c) 2011 Johan Nilsson
Licensed under the Apache License, Version 2.0