以前看到搞技术的大牛都有坚持写自己的博客,用来记录在工作中遇到的问题和解决方法,对自己以后遇到类似的问题也有很大的帮助。所以今天我也开通了下博客玩玩。
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();
- }
- }