Swiperefreshlayout in the V4 package, the corresponding v4demo in the corresponding example. If not, please download the latest SUPPORT-V4
Swiperefreshlayout can only have a direct sub view, which may be a ListView or a layout or other component that needs to be refreshed.
The Setonrefreshlistener is used to listen for refreshed actions. Swiperefreshlayout drop down. There will be a refresh effect coming out, triggering the listener.
Suppose you need a refreshed animation,setrefreshing (True), stop: Setrefreshing (false)
Suppose you want to disable refresh animations and gesture responses,ssetenable (false). Restore Setenable (True)
Here's an example of a V4:
public class Swiperefreshlayoutactivity extends Activity implements Onrefreshlistener {public static final string[] TI TLEs = {"Henry IV (1)", "Henry V", "Henry VIII", "Richard II", "Richard III", "Merchant of Venice", "Othello", "King Lear", "Henry IV (1)", "Henry V", "Henry VIII", "Richard II", "Richard III", "Merchant of V" Enice "," Othello "," King Lear "," Henry IV (1) "," Henry V "," Henry V " III "," Richard II "," Richard III "," Merchant of Venice "," Othello ", "King Lear", "Henry IV (1)", "Henry V", "Henry VIII", "Richard II", "Richard III", "Merchant of Venice", "Othello", "King Lear"}; Try a SUPER quick refresh to make sureWe don ' t get extra refreshes//While the user's finger is still down. Private static Final Boolean Super_quick_refresh = false; Private View mcontent; Private Swiperefreshlayout Mswiperefreshwidget; Private ListView mlist; Private Handler Mhandler = new Handler (); Private final Runnable Mrefreshdone = new Runnable () {@Override public void run () {Mswiperefres Hwidget.setrefreshing (FALSE); } }; @Override public void OnCreate (bundle bundle) {super.oncreate (bundle); Setcontentview (r.layout.swipe_refresh_widget_sample); Mswiperefreshwidget = (swiperefreshlayout) Findviewbyid (r.id.swipe_refresh_widget); Mswiperefreshwidget.setcolorscheme (R.color.color1, R.color.color2, R.color.color3, R.color.color4); Mlist = (ListView) Findviewbyid (r.id.content); arrayadapter<string> arrayadapter = new Arrayadapter<string> (this, Android. R.layout.simple_list_iteM_1, Android. R.id.text1, TITLES); Mlist.setadapter (Arrayadapter); Mswiperefreshwidget.setonrefreshlistener (this); Mswiperefreshwidget.setprogressviewendtarget (False, 8); } @Override public void Onrefresh () {refresh (); } @Override Public boolean Oncreateoptionsmenu (Menu menu) {menuinflater inflater = Getmenuinflater (); Inflater.inflate (R.menu.swipe_refresh_menu, menu); return true; }/** * Click handler for the menu item to force a refresh. */@Override public boolean onoptionsitemselected (MenuItem item) {final int id = item.getitemid (); Switch (ID) {case r.id.force_refresh:mswiperefreshwidget.setrefreshing (true); Refresh (); return true; } return false; } private void Refresh () {mhandler.removecallbacks (mrefreshdone); Mhandler.postdelayed (Mrefreshdone, 1000); }}
Swipe_refresh_widget_sample.xml
<android.support.v4.widget.swiperefreshlayout xmlns:android= "Http://schemas.android.com/apk/res/android" android:id= "@+id/swipe_refresh_widget" android:layout_width= "match_parent" android:layout_height= "Match_parent" > <!--Some full screens pullable view that'll be the offsetable content-- <listview android:id= "@+id/content" android:layout_width= "match_parent" android:layout_height= "match_parent "/></android.support.v4.widget.swiperefreshlayout>
Swiperefreshlayout official drop-down refresh component in Android v4 package