使用Android-PullToRefresh实现下拉刷新功能

源代码:https://github.com/chrisbanes/Android-PullToRefresh

一. 导入类库

将Library文件夹作为Android项目Import到Eclipse。
在要用的项目上右键Properties,Android一栏,Add。

二. Layout

将ListView取代为PullToRefreshListView:

<com.handmark.pulltorefresh.library.PullToRefreshListView 
android:id="@+id/pull_to_refresh_listview" 
android:layout_height="fill_parent"  
android:layout_width="fill_parent" /> 

三. Activity

// Set a listener to be invoked when the list should be refreshed.
PullToRefreshListView pullToRefreshView = (PullToRefreshListView) findViewById(R.id.pull_to_refresh_listview);
pullToRefreshView.setOnRefreshListener(new OnRefreshListener<ListView>() {
    @Override
    public void onRefresh(PullToRefreshBase<ListView> refreshView) {
        // Do work to refresh the list here.
        new GetDataTask().execute();
    }
});
 
private class GetDataTask extends AsyncTask<Void, Void, String[]> {
    ...
    @Override
    protected void onPostExecute(String[] result) {
        // Call onRefreshComplete when the list has been refreshed.
        pullToRefreshView.onRefreshComplete();
        super.onPostExecute(result);
    }
}
 
四. 取得内部控件

 The first thing to know about this library is that it is a wrapper around the existing View classes.
 So if you use this library and want to get access to the internal ListView/GridView/etc then simply call getRefreshableView(). You can then call all of your usual methods such as setOnClickListener() etc.
原文地址:https://www.cnblogs.com/yangleda/p/4149426.html