列表之Listview:下拉刷新、上拉加载、分页

1.整体思路:

设置一个pageIndex记录当前页数,最开始设置为0;
设置一个int常量PAGE_SIZE定义每页的数据数目;

此处有一个需要注意的是:怎么通知后台你需要下一页,当后台有新的数据加入后,每页的数据内容会有改动,纯粹的传递第几页,会出现数据混乱的情况。此处根据后台的数据特性,我们使用标记获取到的最后一条数据,把获取到的最后一条数据的时间字段传递给后台,后台获取到后再自行处理,返回给我们正确不重复的新的一页数据。

2.上拉加载

开始上拉操作,则同时开始刷新,获取到新的一页数据后,然后pageIndex加一,判断此list的size是否小于PAGE_SIZE,若小于则表示没有更多的新数据了,反之则有,同时结束本次刷新;

3.下拉刷新

下拉则把pageIndex置为0,方便以后重新从0开始记录页数,获取到新的一页数据后,然后pageIndex加一,判断此list的size是否小于PAGE_SIZE,若小于则表示没有更多的新数据了,反之则有,同时结束本次刷新;
注:上拉与下拉在处理当前页数上有细微区别,需要注意!!!

4.给listview赋值

listAdapter.initData(pageIndex, dataList)
 private int mFirstPageIndex = 0;
 protected List<T> mListData = new ArrayList<T>();
 public void initData(int pageIndex, List<T> data) {
        if (pageIndex == mFirstPageIndex) {
            mListData.clear();
        }
        if (null != data) {
            mListData.addAll(data);
        }
        this.notifyDataSetChanged();
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值