使用RecyclerView和SwipeRefreshLayout 配合在下拉刷新后在快速上拉加载更多。会出现下标越界的情况



分析原理:这种情况是因为在调用率刷新的时候把当前list清空,留着装最新的数据,但是在还没有最新数据的时候,就会出现下标越界。


   @Override
    public void onRefresh() {
        //list.clear();
        pageindex = 1;
        indexToast=0;
        getUrlData("api","getappointlist",loginid,pageindex);
    }


上面的list.clear();  应该放在下面这里调用就会解决这个问题:


@Override
                public void onSuccess(String t) {
                    super.onSuccess(t);

                    if (flag){
                        finalDialog.dismiss();
                    }
                    swipe.setRefreshing(false);
                    if (pageindex==1){
                        //强调刷新的时候清空list
                        list.clear();
                    }
                    try {
                        JSONObject jsonObject = new JSONObject(t);
                        int errno = jsonObject.getInt("errno");
                        if (errno == 0) {
                            array = jsonObject.getJSONArray("items");
                            Map map;
                            for (int i =0;i
只有在接口调取成功,清空list在进行刷新。





你可能感兴趣的:(ButterKinfe)