使用:
(1)导入第三方插件库
Android-PullToRefresh-master.zip
(2) 在布局文件中使用第三方插件
com.handmark.pulltorefresh.library.PullToRefreshListView
(3) 自定义适配器(BaseAdapter)提供数据
(4) 异步任务查询数据(AsyncTask)
1. AsyncTask定义了三种泛型类型 Params,Progress和Result。
Params 启动任务执行的输入参数,比如HTTP请求的URL。
Progress 后台任务执行的百分比。
Result 后台执行任务最终返回的结果,比如String
2. 异步加载数据最少要重写以下这两个方法
doInBackground(Params…) 后台执行,比较耗时的操作都可以放在这里
onPostExecute(Result) 相当于Handler 处理UI的方式,在这里面可以使用在doInBackground 得到的结果处理操作UI
–注:此方法中再通知适配器和控件
myBaseAdapter.notifyDataSetChanged();// 通知适配器数据已改变
plv_main_plv1.onRefreshComplete();// 通知控件数据已经加载完毕
(5) 给PullToRefreshListView设置相关属性
plv_main_1.setMode(Mode.BOTH);// 设置刷新模式
Mode.BOTH:同时支持上拉下拉
Mode.PULL_FROM_START:只支持下拉Pulling Down
Mode.PULL_FROM_END:只支持上拉Pulling Up
plv_main_1.getLoadingLayoutProxy().setPullLabel("上拉刷新...");// 刚下拉时,显示的提
plv_main_1.getLoadingLayoutProxy().setRefreshingLabel("正在载入...");// 刷新时
plv_main_1.getLoadingLayoutProxy().setReleaseLabel("放开刷新...");// 下来达到一定距离时,显示的提示
核心:
1、新建Android的project
2、将第三方工程导入到project中
3、由于现有的开发module的sdk与导入的库的sdk版本不一样,所以需要修改
4、在开发的module中引入库依赖
5、启动module报错的原因,jdk高版本移除了些东西。
6、改变listview为PullToRefreshListView
7、给PullToRefreshListView设置相关属性,给下拉组件添加监听
8、加载数据源
9、回调函数中,通知适配器数据加载完毕