PullToRefreshListView的下拉刷新上拉加载更多问题
2016-04-27 21:54
190 查看
以前看到搞技术的大牛都有坚持写自己的博客,用来记录在工作中遇到的问题和解决方法,对自己以后遇到类似的问题也有很大的帮助。所以今天我也开通了下博客玩玩。
ListView分页加载更多用到了第三方的library,PullToRefreshListView注册setOnRefreshListener监听时
pullToRefresh.setOnRefreshListener(new OnRefreshListener2<ListView>(){
@Override
public void onPullDownToRefresh(
PullToRefreshBase<ListView> refreshView) {
// TODO Auto-generated method stub
System.out.println("onPullDownToRefresh");
}
@Override
public void onPullUpToRefresh(
PullToRefreshBase<ListView> refreshView) {
// TODO Auto-generated method stub
System.out.println("onPullUpToRefresh");
}
});
下拉和上拉的动画出来了,没打印输出,因为之前用过PullToRefreshScrollView的Onrefresh方法是可以打印进去回调的,后来再打印语句后加了异步出来的请求,用的Volley请求接口在onSucess方法后写的OnRefreshComplete()方法后,然后再操作下拉上拉,打印语句显示出来了。貌似是必须在回调中写上异步请求的才会成功回调。
在判断了是最后一页后加载完数据后,再下拉加载的时候我写的pullToRefreshListview.onRefreshComplete()方法来取消加载的那个动画,但是不管用,后来又设置了setRefreshing(false)后还是不行,都是无效的,后来解决方法也是要在异步类中处理的,我下面两种方法都试过了,是可以取消加载动画的,就是说刷新完成。
1.pullToRefreshListView.postDelayed(new Runnable(){
public void run(){
pullToRefreshListView.onRefreshComplete();
}},1000);
2.class FinishRefresh extends AsyncTask<Void,Void,Void>{
protected void doInBackground(Void... params){
return null;
}
protected void onPostExecute(Void result){
pullToRefreshListView.onRefreshComplete();
}
}
ListView分页加载更多用到了第三方的library,PullToRefreshListView注册setOnRefreshListener监听时
pullToRefresh.setOnRefreshListener(new OnRefreshListener2<ListView>(){
@Override
public void onPullDownToRefresh(
PullToRefreshBase<ListView> refreshView) {
// TODO Auto-generated method stub
System.out.println("onPullDownToRefresh");
}
@Override
public void onPullUpToRefresh(
PullToRefreshBase<ListView> refreshView) {
// TODO Auto-generated method stub
System.out.println("onPullUpToRefresh");
}
});
下拉和上拉的动画出来了,没打印输出,因为之前用过PullToRefreshScrollView的Onrefresh方法是可以打印进去回调的,后来再打印语句后加了异步出来的请求,用的Volley请求接口在onSucess方法后写的OnRefreshComplete()方法后,然后再操作下拉上拉,打印语句显示出来了。貌似是必须在回调中写上异步请求的才会成功回调。
在判断了是最后一页后加载完数据后,再下拉加载的时候我写的pullToRefreshListview.onRefreshComplete()方法来取消加载的那个动画,但是不管用,后来又设置了setRefreshing(false)后还是不行,都是无效的,后来解决方法也是要在异步类中处理的,我下面两种方法都试过了,是可以取消加载动画的,就是说刷新完成。
1.pullToRefreshListView.postDelayed(new Runnable(){
public void run(){
pullToRefreshListView.onRefreshComplete();
}},1000);
2.class FinishRefresh extends AsyncTask<Void,Void,Void>{
protected void doInBackground(Void... params){
return null;
}
protected void onPostExecute(Void result){
pullToRefreshListView.onRefreshComplete();
}
}
相关文章推荐
- 链表操作
- 使用httpclient提交数据
- java执行流程图
- 2015级C++第10、11周补充实践项目 继承和派生
- 使用反射生成并操作对象
- qt学习笔记(七)之数据库简介(所有支持数据库类型的列表)
- 冲刺第九天
- ajax
- 字符串匹配—KMP 扩展KMP Manacher
- Flask -- 使用数据库(Sqlite3)、用户注册、登录注销、修改密码
- 字串的连接最长路径查找(sort函数实现)
- 3牌递归
- SecureCRT 使用技巧
- Flyway学习笔记
- POJ 3461 Oulipo【kmp】
- 字典序法全排列
- sqoop学习
- [C语言][LeetCode][119]Pascal's Triangle II
- 学习计划(这是个队列,什么时候队列会为空?,学完,就删除)
- 站立会议09