您的位置:首页 > 其它

安卓---下拉刷新---上拉加载---解决导入library等自生成库文件失败的问题

2016-04-22 09:18 453 查看
本文的下拉刷新以及上拉加载都是用PullToRefresh实现的,关于PullToRefresh的介绍以及源码,网上可以找到很多,本人在此不再赘述。

PullToRefresh是一套实现非常好的下拉刷新库,它支持:

ListView

ExpandableListView

GridView

WebView

ScrollView

HorizontalScrollView

ViewPager

等多种常用的需要刷新的View类型,而且使用起来也十分方便。

(下载地址:https://github.com/chrisbanes/Android-PullToRefresh

PullToRefresh基本用法:

1、在布局文件中添加PullToRefresh控件,比如PullToRefreshListView;

2、在Activity中,设置监听器OnRefreshListener以响应用户下拉操作;

3、在监听器的onRefresh()方法中执行数据刷新操作,可以通过AsyncTask来实现(一般用于网络数据的操作,如果仅仅是演示,没必要通过AsyncTask实现);

4、在AsyncTask中获取到数据后,记得调用onRefreshComplete()方法通知PullToRefresh控件数据已获取完毕,可以结束刷新操作。

现在正式开始

首先:预览一下效果

package com.example.android_listview;

import java.util.LinkedList;

import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode;

import android.os.AsyncTask;
import android.widget.ArrayAdapter;

public class GetDataTask extends AsyncTask<Void, Void, Void>{

private PullToRefreshListView mPullRefreshListView;
private ArrayAdapter<String> mAdapter;
private LinkedList<String> mListItems;

public GetDataTask(PullToRefreshListView listView,
ArrayAdapter<String> adapter,LinkedList<String> listItems) {
// TODO 自动生成的构造函数存根
mPullRefreshListView = listView;
mAdapter = adapter;
mListItems = listItems;
}

@Override
protected Void doInBackground(Void... params) {
//模拟请求
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
}
return null;
}

@Override
protected void onPostExecute(Void result) {
// TODO 自动生成的方法存根
super.onPostExecute(result);
//得到当前的模式
Mode mode = mPullRefreshListView.getCurrentMode();
if(mode == Mode.PULL_FROM_START) {
mListItems.addFirst("这是刷新出来的数据");
}
else {
mListItems.addLast("这是加载出来的数据");
}
// 通知数据改变了
mAdapter.notifyDataSetChanged();
// 加载完成后停止刷新
mPullRefreshListView.onRefreshComplete();

}
}


View Code
整个工程就完成了,主要代码来源:http://www.cnblogs.com/tianzhijiexian/p/4023802.html

当然大家也可以自己写自己特色ListView的下拉刷新,可以参考http://blog.csdn.net/loongggdroid/article/details/9385535

这篇博客讲解很清楚:http://blog.csdn.net/leehong2005/article/details/12567757

2016.5.15找到了一个感觉万能的下拉刷新,在此标记一下:http://www.jb51.net/article/39714.htm,
http://www.2cto.com/kf/201408/329317.html源码下载地址:https://github.com/jingchenUSTC/PullToRefreshAndLoad
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: