Android 如何查找滚动时显示在RecyclerView顶部的项目
我一直在为我需要做的事情寻找一个合适的API,我几乎可以肯定必须有一个API。但我没有找到它 我的问题是: 我正在回收器视图中显示ArrayList。我需要的是知道当我上下滚动时,ArrayList中的哪个项目显示在recycler视图的顶部。以下是我如何设置我的回收器视图(没有什么特别之处): 这提供了我需要的侦听器,但我不知道如何从中获取显示在视图顶部的项Android 如何查找滚动时显示在RecyclerView顶部的项目,android,android-recyclerview,Android,Android Recyclerview,我一直在为我需要做的事情寻找一个合适的API,我几乎可以肯定必须有一个API。但我没有找到它 我的问题是: 我正在回收器视图中显示ArrayList。我需要的是知道当我上下滚动时,ArrayList中的哪个项目显示在recycler视图的顶部。以下是我如何设置我的回收器视图(没有什么特别之处): 这提供了我需要的侦听器,但我不知道如何从中获取显示在视图顶部的项 提前感谢线性布局管理器中提供了一些方法,如 findFirstCompletelyVisibleItemPosition() int
提前感谢线性布局管理器中提供了一些方法,如
findFirstCompletelyVisibleItemPosition()
int findFirstVisibleItemPosition()
int findLastCompletelyVisibleItemPosition()
findLastVisibleItemPosition()
仔细阅读,它肯定会对您有所帮助。您可以使用LinearLayoutManager的以下方法
int findFirstVisibleItemPosition();
int findFirstCompletelyVisibleItemPosition();
int findLastVisibleItemPosition();
int findLastCompletelyVisibleItemPosition();
阅读文档findFirstCompletelyVisibleItemPosition()将返回第一个完全可见视图的适配器位置 您可以这样做:
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
int itemPoition = ((LinearLayoutManager) recyclerView.getLayoutManager()).findFirstCompletelyVisibleItemPosition();
// Get the item from the list
mList.get(itemPoition)
}
我想这会对你有帮助。
int findFirstVisibleItemPosition();
int findFirstCompletelyVisibleItemPosition();
int findLastVisibleItemPosition();
int findLastCompletelyVisibleItemPosition();
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
int itemPoition = ((LinearLayoutManager) recyclerView.getLayoutManager()).findFirstCompletelyVisibleItemPosition();
// Get the item from the list
mList.get(itemPoition)
}