RecyclerView,ExpandableListView添加底部上拉刷新
来源:互联网 发布:共青团网络志愿者 编辑:程序博客网 时间:2024/05/16 17:47
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) { } });
阅读全文