Android 如何获取卷轴上的recyclerview顶部项目
感谢您抽出宝贵的时间阅读本帖。 我正在开发一个android应用程序,其中在recyclerview的项目中有recyclerview 当滚动recyclerview(parent recyclerview)到达父项的第一个项目的上部位置时(即,如果第一个项目的上部位置完全可见),我想执行一些任务 到目前为止,我已经尝试过了,但它并没有达到我所需要的预期效果Android 如何获取卷轴上的recyclerview顶部项目,android,android-recyclerview,Android,Android Recyclerview,感谢您抽出宝贵的时间阅读本帖。 我正在开发一个android应用程序,其中在recyclerview的项目中有recyclerview 当滚动recyclerview(parent recyclerview)到达父项的第一个项目的上部位置时(即,如果第一个项目的上部位置完全可见),我想执行一些任务 到目前为止,我已经尝试过了,但它并没有达到我所需要的预期效果 recyclerView.addOnScrollListener(new RecyclerView.OnScrollListene
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
LinearLayoutManager linearLayoutManager1 = (LinearLayoutManager) recyclerView.getLayoutManager();
int displayedPosition = linearLayoutManager1.findFirstCompletelyVisibleItemPosition();
if(displayedPosition==0){
//Is this the place where top position of first item is reached ?
((ControllableAppBarLayout) getActivity().findViewById(R.id.app_bar_layout)).expandToolbar(true);
}
}
});
通过使用这两种方法的组合,您可以归档所需的内容
if (linearLayoutManager1.findFirstVisibleItemPosition() == 0
&& linearLayoutManager1.findFirstCompletelyVisibleItemPosition() == 0) {
// reach first fully visible item.
}
从op问题代码段
您的代码看起来是正确的。你测试过了吗?顺便问一下,为什么不测试一下‘dy==0’?这将给你同样的结果。我打印了日志,但即使是我也看不到打印的日志:(此代码对于简单的recyclerview工作正常。但是在嵌套的recylerview中它不工作。