gpt4 book ai didi

android - NestedScrollView 内的 RecyclerView ScrollListener

转载 作者:IT老高 更新时间:2023-10-28 23:03:46 29 4
gpt4 key购买 nike

我在 NestedScrollView 的末尾有一个 EndlessRecyclerViewEndlessRecyclerView 表示:当用户滚动到recyclerView 的底部时,它会加载更多数据。这已经实现并在其他地方工作,但是当我将 recyclerView 放在 NestedScrollView 中时, OnScrollListener 事件不会触发。

XML 设计:

<NestedScrollView>

<Other views/>

<EndlessRecyclerView/>

</NestedScrollView >

代码:

recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
// This is never fired! Here is where I implement the logic of EndlessRecyclerView
}
});

如何获得上述情况的滚动事件?

我知道在彼此内部有两个可 ScrollView 是不好的。但是,如果没有两个可滚动的 View ,我如何拥有上述情况?

我已经点击了这个链接,但它不起作用:scroll event for recyclerview inside scrollview android

最佳答案

要实现NestedScrollView下的recycler view无限滚动,可以使用"NestedScrollView.OnScrollChangeListener"

nestedScrollView.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
if(v.getChildAt(v.getChildCount() - 1) != null) {
if ((scrollY >= (v.getChildAt(v.getChildCount() - 1).getMeasuredHeight() - v.getMeasuredHeight())) &&
scrollY > oldScrollY) {
//code to fetch more data for endless scrolling
}
}
});

这里 v.getChildCount() -1 应该为您提供要实现无限滚动的回收器 View 。

另外 scrollY > oldScrollY 确认页面正在向下滚动。

引用:NestedScrollView.OnScrollChangeListener

关于android - NestedScrollView 内的 RecyclerView ScrollListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39894792/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com