关闭

168_下拉刷新PullToRefresh

标签: 下拉刷新上滑刷新refreshpulltorefresh开源项目
160人阅读 评论(0) 收藏 举报

下拉刷新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后面

}

}

 

 

然后我们把头布局收回去

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:57112次
    • 积分:5402
    • 等级:
    • 排名:第4947名
    • 原创:521篇
    • 转载:0篇
    • 译文:0篇
    • 评论:17条
    最新评论