RecyclerView,ExpandableListView添加底部上拉刷新

RecyclerView添加滑动事件的监听来处理上拉刷新

    recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            boolean isScrolledBottom = true;

            @Override
            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);
                LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
                int lastitem = layoutManager.findLastCompletelyVisibleItemPosition();
                int allItem = layoutManager.getItemCount() - 1;
                if (newState == RecyclerView.SCROLL_STATE_IDLE && (loadfinish == true) && (isLoadfinish == true)&&isScrolledBottom) {
                    if (lastitem == allItem) {
                        isLoadfinish = false;
                        //这里添加最后一项item也就是上拉的动画item
                        DesignerlistBean bean = new DesignerlistBean();
                        bean.setTypestyle(0);
                        data.add(bean);
                        adapter.notifyDataSetChanged();
                        new AsyncDataLoader(getdesign_listloadmore).execute();
                    }
                }
            }

            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                if (dy > 0) {
                    isScrolledBottom = true;
                } else {
                    isScrolledBottom = false;
                }
            }
        });
       new AsyncDataLoader(getdesign_list).execute();
    }

其中loadfinish 是指当列表没有更多的数据的时候,咋们吧没有更多显示出来后就不应该继续下拉请求数据了,因为这个时候已经没有数据可以获取了。
其中isLoadfinish 是指网络请求是否访问完毕,咋们不能够一次请求还未完毕另一次接着开始,肯定要等一次请求完毕后再上拉下一次

ExpandableListView添加滑动事件的监听来处理上拉刷新

// 监听ExpandableListView滚到最底部

      listView.setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
                switch (scrollState) {
                    // 当不滚动时
                    case AbsListView.OnScrollListener.SCROLL_STATE_IDLE:
                        // 判断滚动到底部
                        if (view.getLastVisiblePosition() == (listView.getCount() - 1)&&loadfinish&&isLoadfinish) {
                            //TODO

                            isLoadfinish=false;
                            listView.addFooterView(footmoreview);
                            adapter.notifyDataSetChanged();
                            new AsyncDataLoader(getcollocationloadmore).execute();

                           ToastUtils.makeText(mContext, "滑动到底部啦!", 2);
                        }
                        break;
                }
            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem,
                                 int visibleItemCount, int totalItemCount) {
            }
        });
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值