Android下拉/上拉刷新ListView之Android-PullToRefresh

Android下拉和上拉刷新ListView列表内容的的一个优秀开源框架,在github上的项目链接地址:https://github.com/chrisbanes/Android-PullToRefresh

该PullToRefresh第三方控件功能强大,使用方便。
具体使用方法:

(1)首先到github上把该项目下载解压,导入到Eclipse的工程中。
(2)将Android-PullToRefresh作为一个lib引用到自己的项目中。
然后直接使用即可。

package zhangphil.pulltorefresh;import java.util.LinkedList;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode;import com.handmark.pulltorefresh.library.PullToRefreshBase.OnLastItemVisibleListener;import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;import com.handmark.pulltorefresh.library.PullToRefreshListView;import android.support.v7.app.ActionBarActivity;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.Toast;import android.os.Bundle;import android.os.Handler;public class MainActivity extends ActionBarActivity {private PullToRefreshListView mPullRefreshListView;private LinkedList<String> mListItems;private ArrayAdapter<String> mAdapter;// 数据private int DATA = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mPullRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);// Mode.BOTH:支持下拉和上拉刷新。mPullRefreshListView.setMode(Mode.BOTH);mPullRefreshListView.setOnRefreshListener(new OnRefreshListener2<ListView>() {// 下拉@Overridepublic void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {Toast.makeText(getApplicationContext(), "下拉刷新",Toast.LENGTH_SHORT).show();addItem();}// 上拉@Overridepublic void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {Toast.makeText(getApplicationContext(), "上拉刷新",Toast.LENGTH_SHORT).show();addItem();}});// 列表到底,即看到最后一个元素。mPullRefreshListView.setOnLastItemVisibleListener(new OnLastItemVisibleListener() {@Overridepublic void onLastItemVisible() {Toast.makeText(getApplication(), "已经到底!",Toast.LENGTH_SHORT).show();}});ListView actualListView = mPullRefreshListView.getRefreshableView();mListItems = new LinkedList<String>();mAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, mListItems);actualListView.setAdapter(mAdapter);}// 添加数据private void addItem() {new Handler().postDelayed(new Runnable() {@Overridepublic void run() {mListItems.add((DATA++) + "");mAdapter.notifyDataSetChanged();mPullRefreshListView.onRefreshComplete();}}, 1000);}}
布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" >        <com.handmark.pulltorefresh.library.PullToRefreshListView        android:id="@+id/pull_refresh_list"        android:layout_width="match_parent"        android:layout_height="match_parent"          android:divider="@android:color/black"        android:dividerHeight="1dip"                android:fastScrollEnabled="false"        android:footerDividersEnabled="false"        android:headerDividersEnabled="false"        android:smoothScrollbar="true" /></RelativeLayout>


转载地址:http://blog.csdn.net/zhangphil/article/details/44647711


更多相关文章

  1. 【转】Android(安卓)--Google Market
  2. android使用SmartRefreshLayout库实现下拉刷新和上拉加载
  3. 全球支持最多运行平台的NoSQL数据库 iBoxDB
  4. 「抄底 Android(安卓)内存优化 1」—— 虚拟内存
  5. 做android 开发遇到的问题及解决办法记录
  6. Android中必须学习的八大开源项目
  7. Android的一些开源项目集锦 以备以后研究
  8. GitHub 优秀的 Android(安卓)开源项目(值得研究)
  9. android studio 3.1.1 创建项目编译不过的问题解决

随机推荐

  1. android menu,activity,AlertDialog...
  2. android OkHttp3.0
  3. android 设置activity通用的全局变量(新手
  4. 用ant编译Android程序
  5. android webview加载String类型html
  6. Android涉及到的网址都记录在这把~~~~
  7. android 全屏、隐藏标题、横屏显示方法
  8. Android studio 打包混淆
  9. Android: 显示SD卡文件列表
  10. 重写gallery 的 BaseAdapter