你的位置:首页 > 操作系统

[操作系统]第三方开源框架的下拉刷新列表(QQ比较常用的)。


PullToRefreshListView是第三方开源框架下拉刷新列表,比较流行的QQ 微信等上面都在用。

下载地址(此开源框架于2013年后不再更新)

点此下载

 1 package com.lixu.kaiyuanxiala; 2  3 import java.util.ArrayList; 4  5 import com.handmark.pulltorefresh.library.PullToRefreshBase; 6 import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener; 7 import com.handmark.pulltorefresh.library.PullToRefreshListView; 8 import android.app.Activity; 9 import android.os.AsyncTask;10 import android.os.Bundle;11 import android.widget.ArrayAdapter;12 import android.widget.ListView;13 import android.widget.TextView;14 import android.widget.Toast;15 16 public class MainActivity extends Activity {17   private ArrayList<String> date;18   private int count = 0;19   private ArrayAdapter<String> adapter;20   PullToRefreshListView prl;21 22   @Override23   protected void onCreate(Bundle savedInstanceState) {24     super.onCreate(savedInstanceState);25     setContentView(R.layout.activity_main);26 27     date = new ArrayList<String>();28     adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, date);29 30     prl = (PullToRefreshListView) findViewById(R.id.prl);31 32     prl.setAdapter(adapter);33 34     TextView tv = new TextView(this);35     tv.setText("想看内容给我拉下来!!");36 37     prl.setEmptyView(tv);38     // 监控下拉事件 每次下拉执行一次 onRefresh()。39     prl.setOnRefreshListener(new OnRefreshListener<ListView>() {40 41       @Override42       public void onRefresh(PullToRefreshBase<ListView> refreshView) {43         new MyAsync().execute();44       }45     });46 47   }48 49   private class MyAsync extends AsyncTask {50     @Override51     protected void onPreExecute() {52       // 开始刷新53       prl.setRefreshing();54     }55 56     @Override57     protected Object doInBackground(Object... params) {58 59       return count++;60     }61 62     @Override63     protected void onPostExecute(Object result) {64       Toast.makeText(getApplicationContext(), "更新成功!", 0).show();65       date.add(0, "" + result);66       // 刷新适配器67       adapter.notifyDataSetChanged();68       // 结束刷新69       prl.onRefreshComplete();70 71     }72   }73 }

 1 <RelativeLayout ="http://schemas.android.com/apk/res/android" 2   ="http://schemas.android.com/tools" 3   android:layout_width="match_parent" 4   android:layout_height="match_parent" > 5  6   <com.handmark.pulltorefresh.library.PullToRefreshListView 7     android:id="@+id/prl" 8     android:layout_width="match_parent" 9     android:layout_height="match_parent"10     />11 12 </RelativeLayout>

运行效果图: