RecyclerView的上拉刷新,和下拉加载

来源:互联网 发布:数控子弹编程图纸大全 编辑:程序博客网 时间:2024/06/07 10:05
<android.support.v4.widget.SwipeRefreshLayout    android:id="@+id/srefresh"    android:layout_width="match_parent"    android:layout_height="match_parent">    <android.support.v7.widget.RecyclerView        android:id="@+id/desc_recview"        android:layout_width="match_parent"        android:layout_height="match_parent">    </android.support.v7.widget.RecyclerView></android.support.v4.widget.SwipeRefreshLayout>//设置刷新
srefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {    @Override    public void onRefresh() {        Toast.makeText(Desc_listActivity.this,"正在刷新",Toast.LENGTH_SHORT).show();//此处可以重新获取数据      srefresh.setRefreshing(false);    }});//设置下拉加载更多
dec_review.setOnScrollListener(new RecyclerView.OnScrollListener() {//给recycleview设置滑动监听    int last;//记录最后一条数据的下标    @Override    public void onScrollStateChanged(RecyclerView recyclerView, int newState) {        super.onScrollStateChanged(recyclerView, newState);//判断当滑动静止,并且数据的长度等于适配器获得的集合的长度 if(newState==RecyclerView.SCROLL_STATE_IDLE&&last+1==ada.getItemCount()){//当滑动为静态时候,并且等于最后一条数据            Toast.makeText(Desc_listActivity.this,"加载更多",Toast.LENGTH_SHORT).show();            ada.addAll((ArrayList<Sort_list.DataBean>) data);//通过方法,添加更多数据            ada.notifyDataSetChanged();//刷新        }    }    @Override    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {        super.onScrolled(recyclerView, dx, dy);//获取布局管理器,通过布局管理器得到最后一条数据下标 LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();        last=layoutManager.findLastVisibleItemPosition();//得到最后一条数据    }});






原创粉丝点击