分页加载的时候,如果清理CONVERTER只会显示最新的界面,如果不清理会造成重复加载

来源:16-3 分页功能实现

qq_风吹裤裤的海量_0

2018-07-12

private void paging(final String url) {
    final int pageSize = BEAN.getPageSize();
    final int currentCount = BEAN.getCurrentCount();
    final int total = BEAN.getTotal();
    final int index = BEAN.getPageIndex();

    if (mAdapter.getData().size() < pageSize || currentCount >= total) {
        mAdapter.loadMoreEnd(true);
    } else {
        Latte.getHandler().postDelayed(new Runnable() {
            @Override
            public void run() {
                RestClient.builder()
                        .url(url + index)
                        .success(new ISuccess() {
                            @Override
                            public void onSuccess(String response) {
                                LatteLogger.json("paging", response);
                                //这部分数据加载有问题
                                CONVERTER.clearData();
                                mAdapter.addData(CONVERTER.setJsonData(response).convert());
                                //累加数量
                                BEAN.setCurrentCount(mAdapter.getData().size());
                                mAdapter.loadMoreComplete();
                                BEAN.addIndex();
                            }
                        })
                        .build()
                        .get();
            }
        }, 1000);
    }
}


写回答

2回答

凌伊

2018-11-25

确实有这个问题,我找到原因了,因为CONVERTER这个变量会一直保持有上一次json数据,如果clear的话,convert的时候只会有当前这一页的数据,所以这种方法需要额外对list源数据进行处理,这里有一个建档的方法,如下:

//CONVERTER.clearData();
mAdapter.setNewData(CONVERTER.setJsonData(response).convert());
这里把mAdapter.addData();修改成mAdapter.setNewData();即可
0
1
RamboZl
你这种方式第一页数据不会被清除,但是后面的会重复加载啊,怎么处理?
2019-01-18
共1条回复

傅猿猿

2018-07-13

//img.mukewang.com/szimg/5b47c508000130b010011001.jpg
后面没有了啊,还有问的问题也只有一半……我猜是数据传输丢失或者样式问题吧

0
0

Android通用框架设计与完整电商App开发

从第一行代码开始教你,通用且一键式配置的框架设计并轻松实现完整电商App

2028 学习 · 1182 问题

查看课程