您的位置:首页 > 其它

RecycylerView 实现下拉刷新,上拉加载(简单版)

2018-04-03 14:31 267 查看
一、下拉刷新
Xml文件中添加SwipeReFreshLayout<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/refresh_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.RecyclerView
android:id="@+id/news_list"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>MainActivity中添加setOnReFreshLayoutListener就可以了mRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.refresh_layout);
mRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
Toast.makeText(MainActivity.this,"下拉刷新成功",Toast.LENGTH_SHORT).show();
mRefreshLayout.setRefreshing(false);
}
});二、上拉加载
给recyclerview添加OnscrollListener
recyclerview的状态有:
空闲状态: SCROLL_STATE_IDLE 
滑动状态: SCROLL_STATE_TOUCH_SCROLL 
惯性滑动状态: SCROLL_STATE_FLING
        private RecyclerView recyclerView;
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
if(newState == RecyclerView.SCROLL_STATE_IDLE){
int lastVisiblePosition = linearLayoutManager.findLastVisibleItemPosition();
if(lastVisiblePosition >= linearLayoutManager.getItemCount() - 1){
Toast.makeText(MainActivity.this,"上拉加载成功",Toast.LENGTH_SHORT).show();
}
}
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐