android下拉刷新列表实现(pull to refresh)

android中提供了ListView控件,listview能够为我们展现丰富的内容,有时候我们为了提升用户体检,需要更炫而且更好用户体验的效果,pull to refresh(下拉刷新列表效果)就应运而生了。

pull to refresh更多的应用于获取最新的内容,比如新浪微博、腾讯微博等。目前网上有很多开源的pull to refresh的开源实现,这里也是参考开源代码实现的。目测是android-pulltorefresh 。

Layout

<!-- 
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"
    />

Activity

// 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); 
    } 
}

源码下载:

http://download.csdn.net/detail/xyz_lmn/4676611

参考:

https://github.com/johannilsson/android-pulltorefresh

https://github.com/fanfoudroid/fanfoudroid

http://www.eoeandroid.com/thread-190295-1-1.html

http://k-beta.com/android-listview-more-refresh.html