Android 通过OnScrollListener来监听RecyclerView的位置

幽沉谢世事,俯默窥唐虞。这篇文章主要讲述Android 通过OnScrollListener来监听RecyclerView的位置相关的知识,希望能为你提供帮助。
最近做一个漫画app,在阅读漫画界面需要通过获取recyclerView的位置来实时更新界面上的图片进度(比如1/9),
查阅资料得知了可以通过LayoutManager来获取recyclerView的item位置信息。那么由于这里我的是一幅图是整个屏幕大小,所以通过代码:

LinearLayoutManager l = (LinearLayoutManager)recyclerView.getLayoutManager(); adapterNowPos = l.findFirstVisibleItemPosition(); allItems = l.getItemCount();

其中,adapterNowPos 就是当前的图片位置,
allItems 则是recyclerView中的所有条目数量。
【Android 通过OnScrollListener来监听RecyclerView的位置】接下来需要搞定的就是动态通知了,于是我们给recyclerView添加一个滑动监听器
完整的代码如下:
recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener(){ @Override public void onScrolled(RecyclerView recyclerView,int dx,int dy){ super.onScrolled(recyclerView,dx,dy); LinearLayoutManager l = (LinearLayoutManager)recyclerView.getLayoutManager(); adapterNowPos = l.findFirstVisibleItemPosition(); allItems = l.getItemCount(); String s = adapterNowPos+1+"/"+allItems; comic_pic_state.setText(s); //设置图片的数量 pic_state_top.setText(s); } });

这样就完成了实时更新。
 
下面上图:
Android 通过OnScrollListener来监听RecyclerView的位置

文章图片


    推荐阅读