您的位置:首页 > 其它

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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: