168_下拉刷新PullToRefresh

原创 2016年05月31日 22:18:39

下拉刷新PullToRefresh


我们来使用一个PullToFresh开源项目

是用来实现下拉刷新功能的

 

我们就不导包了

导包容易出现好多问题

我们直接复制一下java文件

 

来个包就叫refresh

然后把文件全都复制进去

 

开始

 

我们先把布局文件中的ListView换成PullToRefreshListView

 

然后我们就用这个PullToRefreshListView

 

我们发现setAdapter方法报错了

因为他修改了这里

所以我们用他给的

mLv_content.getRefreshableView().setAdapter

 

 

 

然后设置一下

 

//下拉刷新true

        mLv_content.setPullRefreshEnabled(true);

 

//上拉加载true

        mLv_content.setPullLoadEnabled(true);

 

//滚动自动加载false关闭

        mLv_content.setScrollLoadEnabled(false);

 

//刷新监听

        mLv_content.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {

 

//下拉刷新的回调方法

            @Override

            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {

                

            }

 

//上拉加载的回调方法

            @Override

            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {

 

            }

        });

 

 

 

所以我们肯定要在两个回调方法里面调用加载数据的方法

 

比如getNetworkData()

 

@Override

            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {

                getNetworkData();

            }

            @Override

            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {

getNetworkData();

            }

 

 

 

注意了,下拉刷新和上拉刷新是有很大区别的

 

下拉刷新的时候,我们是刷新了所有的数据,请求了所有的数据

上拉刷新的时候,我们已经请求到的数据是不会变的,就是在下面显示新的数据

 

但是他们同样都是请求数据,那么我们就给getNetworkData方法加个判断

 

@Override

            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {

                getNetworkData(true);

            }

            @Override

            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {

getNetworkData(false);

            }

 

当是true的时候,那么就是下拉刷新

当是false的时候,那么就是上拉刷新

 

所以我们的请求数据的方法也要加上参数

 

//是否是下拉刷新

public void getNetworkData(boolean isPullDownToRefresh){

 

}

 

 

 

然后我们要修改请求数据的方法

 

public void getNetworkData(boolean isPullDownToRefresh){

if(isPullDownToRefresh){

//当是下拉刷新的时候,我们是刷新所有数据

//所以我们把之前的List全都clear

}else{

//而上拉刷新的时候,我们不能把数据清除掉

//而是把数据添加到List后面

}

}

 

 

然后我们把头布局收回去

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Ultra-PullToRefresh下拉刷新自定义

  • 2017年02月19日 12:47
  • 3.78MB
  • 下载

万能适配器+PullToRefresh下拉刷新

  • 2016年08月05日 18:08
  • 1.79MB
  • 下载

PullToRefresh引入依赖,布局,适配器ListView上拉加载下拉刷新

package com.example.wanghuantao170916; import android.os.AsyncTask; import android.support.v7.app.A...
  • thw_m
  • thw_m
  • 2017年09月16日 08:55
  • 137

PullToRefresh框架源码分析(Ⅱ)下拉刷新的过程分析

这是关于PullToRefresh框架的第二篇,第二篇里打算只分析一下下拉刷新和上拉刷新的过程。 这样不至于思路太混乱,如果有人看的话也不至于看得太累。 找到PullToRefreshBase的onI...

比pullTorefresh更好看的下拉刷新

上一篇文章中我说了一些个人觉得pulltorefresh不太喜欢的地方,于是我就又去找了其他的下拉刷新开源项目,找了一个感觉不论实在用法上还是在实现效果上都比pulltorefresh要好的一个开源项...

PullToRefresh下拉刷新第三方库

  • 2016年08月05日 18:23
  • 331KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:168_下拉刷新PullToRefresh
举报原因:
原因补充:

(最多只允许输入30个字)