android.support.v4.widget.SwipeRefreshLayout

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

activity_main.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
        android:layout_width="match_parent"  
        android:layout_height="match_parent" >  
      
        <android.support.v4.widget.SwipeRefreshLayout  
            android:id="@+id/id_swipe_ly"  
            android:layout_width="match_parent"  
            android:layout_height="match_parent" >  
      
            <ListView  
                android:id="@+id/id_listview"  
                android:layout_width="match_parent"  
                android:layout_height="match_parent" >  
            </ListView>  
        </android.support.v4.widget.SwipeRefreshLayout>  
      
    </RelativeLayout>  

MainActivity
    /* 
     * Created by Storm Zhang, Mar 31, 2014. 
     */  
      
    package com.zhy.swiperefreshlayoutdemo;  
      
    import java.util.ArrayList;  
    import java.util.Arrays;  
    import java.util.List;  
      
    import android.app.Activity;  
    import android.os.Bundle;  
    import android.os.Handler;  
    import android.support.v4.widget.SwipeRefreshLayout;  
    import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener;  
    import android.widget.ArrayAdapter;  
    import android.widget.ListView;  
    import android.widget.Toast;  
      
    public class MainActivity extends Activity {  
      
        private static final int REFRESH_COMPLETE = 0X110;  
        private SwipeRefreshLayout mSwipeLayout;  
        private ListView mListView;  
        private ArrayAdapter<String> mAdapter;  
        private List<String> mDatas = new ArrayList<String>(Arrays.asList("Java",  
                "Javascript", "C++", "Ruby", "Json", "HTML"));  
      
        private Handler mHandler = new Handler() {  
            public void handleMessage(android.os.Message msg) {  
                switch (msg.what) {  
                case REFRESH_COMPLETE:  
                    mDatas.addAll(Arrays.asList("Lucene", "Canvas", "Bitmap"));  
                    mAdapter.notifyDataSetChanged();  
                    mSwipeLayout.setRefreshing(false);  
                    Toast.makeText(MainActivity.this, "刷新完毕", 0).show();  
                    break;  
      
                }  
            };  
        };  
      
        protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.activity_main);  
      
            mListView = (ListView) findViewById(R.id.id_listview);  
            mSwipeLayout = (SwipeRefreshLayout) findViewById(R.id.id_swipe_ly);  
      
            mSwipeLayout.setOnRefreshListener(new OnRefreshListener() {  
      
                public void onRefresh() {  
                    mHandler.sendEmptyMessageDelayed(REFRESH_COMPLETE, 3000);  
      
                    Toast.makeText(MainActivity.this, "正在刷新", 0).show();  
      
                }  
            });  
            mSwipeLayout.setColorScheme(android.R.color.holo_green_dark,  
                    android.R.color.holo_green_light,  
                    android.R.color.holo_orange_light,  
                    android.R.color.holo_red_light);  
            mAdapter = new ArrayAdapter<String>(this,  
                    android.R.layout.simple_list_item_1, mDatas);  
            mListView.setAdapter(mAdapter);  
      
        }  
      
    }