Android官方提供的下拉刷新控件——SwipeRefreshLayout

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     tools:context="com.example.administrator.mydemo.PullActivity">
 7     <android.support.v4.widget.SwipeRefreshLayout
 8         android:id="@+id/mpull"
 9         android:layout_height="match_parent"
10         android:layout_width="match_parent"
11         >
12         <ListView
13             android:id="@+id/mlist"
14             android:layout_width="match_parent"
15             android:layout_height="match_parent">
16         </ListView>
17 
18     </android.support.v4.widget.SwipeRefreshLayout>
19 
20 
21 </RelativeLayout>
 1 import android.os.Handler;
 2 import android.os.Message;
 3 import android.support.v4.widget.SwipeRefreshLayout;
 4 import android.support.v7.app.AppCompatActivity;
 5 import android.os.Bundle;
 6 import android.widget.ListView;
 7 import android.widget.SimpleAdapter;
 8 import android.widget.Toast;
 9 
10 import java.util.ArrayList;
11 import java.util.HashMap;
12 import java.util.List;
13 import java.util.Map;
14 
15 public class PullActivity extends AppCompatActivity {
16     private SwipeRefreshLayout swipeRefreshLayout;
17     private ListView listView;
18     private List list;
19     private  SimpleAdapter simpleAdapter;
20 
21     @Override
22     protected void onCreate(Bundle savedInstanceState) {
23         super.onCreate(savedInstanceState);
24         setContentView(R.layout.activity_pull);
25         initView();
26         setList();
27     }
28 
29     private void initView(){
30         swipeRefreshLayout= (SwipeRefreshLayout) findViewById(R.id.mpull);
31         swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
32             @Override
33             public void onRefresh() {
34                 //
35                 new Handler().postDelayed(new Thread(new Runnable() {
36                     @Override
37                     public void run() {
38                         swipeRefreshLayout.setRefreshing(false);
39 
40                         //刷新之后发送message
41                         Message msg=new Message();
42                         msg.what=1;
43                         mhandle.sendMessage(msg);
44 
45                     }
46                 }),3000);
47             }
48         });
49         listView= (ListView) findViewById(R.id.mlist);
50     }
51     private Handler mhandle=new Handler(){
52         @Override
53         public void handleMessage(Message msg) {
54             super.handleMessage(msg);
55             if (msg.what==1){
56                 Toast.makeText(getApplicationContext(),"刷新成功!",Toast.LENGTH_SHORT).show();
57                 //下拉之后需要加载的数据
58                 List mlist=new ArrayList();
59                 for (int i=0;i<20;i++){
60                     Map map=new HashMap();
61                     map.put("img",R.drawable.img);
62                     map.put("text","下拉数据"+i);
63                     mlist.add(map);
64                 }
65                 list.addAll(mlist);
66                 simpleAdapter.notifyDataSetChanged();
67             }
68         }
69     };
70     private void setList(){
71         list=new ArrayList();
72         for (int i=0;i<20;i++){
73             Map map=new HashMap();
74             map.put("img",R.drawable.img);
75             map.put("text","新数据"+i);
76             list.add(map);
77         }
78         simpleAdapter=new SimpleAdapter(this,list,R.layout.list_item,new String[]{"img","text"},new int[]{R.id.my_img,R.id.my_item});
79         listView.setAdapter(simpleAdapter);
80     }
81 }

 

posted @ 2016-07-15 21:33  点滴之水  阅读(254)  评论(0编辑  收藏  举报