现在很多android应用程序,比如新浪微博,在联网刷新内容时,都有一个滑动刷新的ListView,用户将内容下滑,就会有新的结果呈现。如下图所示:

上图中的功能是一个开源的项目android-pulltorefresh来实现的,我们可以利用这个项目来完成这个功能。

这个项目的源码托管在github上,地址为:https://github.com/johannilsson/android-pulltorefresh

下面来介绍如何使用:

滑动刷新其实就用到一个类PullToRefreshListView,它是ListView的子类,相应用到的layout文件为pull_to_refresh_header.xml。也就是说要用滑动刷新,需要将上面的类和xml及一些图片下载下来放到自己的工程中调用。

我们在用到这个类的activity的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);    }}

以上代码分别是设置刷新监听器和后台任务执行。

自己原来写了一个例子,不小心删除了,就不重写贴给大家了。

另外,个人感觉这个滑动现在不是很灵敏,有些卡。

更多相关文章

  1. Android(安卓)Gradle编译学习日记之一(搭建 Gradle 环境以及编译
  2. Android(安卓)的Bitmap的修改方法
  3. Android(安卓)实现文件的下载
  4. ANDROID应用安全防御
  5. 视频教程-Android(安卓)IM 即时通讯实战项目-Android
  6. Android(安卓)安装配置及其项目开发
  7. android图片涂鸦,具有设置画笔,撤销,缩放移动等功能(一)
  8. Android(安卓)学习笔记 ——第二行代码 基于位置的服务
  9. Android(安卓)NDK JNI 的环境搭建以及简单的代码

随机推荐

  1. 关于android Master 和 Stream 静音
  2. 自定义实现横向圆角进度条——简易版
  3. Android(安卓)学习笔记 Service (二) Remot
  4. Android解决TextView setText显示乱码
  5. Android-内存映射mmap
  6. [置顶] [Android(安卓)Studio 权威教程]Mac
  7. android 自定义View过程解析
  8. dex 转为 jar
  9. android eclipse 导入工程报错unable to
  10. Android(安卓)中Parcelable的作用 (转载)