gpt4 book ai didi

Android - 用于交错 GridView 的 OnScrollListener

转载 作者:行者123 更新时间:2023-11-29 21:41:54 25 4
gpt4 key购买 nike

请原谅我的英语,我是法国人......

那么,我有一个关于我的 Android 应用程序的问题。我必须将 GridView 集成为 Pinterest 样式。我找到了这个库:交错 GridView (https://github.com/maurycyw/StaggeredGridView)

它工作正常但是......没有 OnScrollListener !我必须知道用户何时看到最后一个项目,以便加载更多。但是没有 OnScrollListener 是不可能的!

你对我的问题有想法吗?

非常感谢。

最佳答案

如果没有任何效果,请尝试此操作,然后将回收站 View 包装在 ScrollView 中,然后检查 ScrollView 是否已到达底部:

在您的 xml 文件中:

<ScrollView
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

</RelativeLayout>

</ScrollView>

在你的类文件中:

private ScrollView mScrollView;

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initScrollView();
...
}

private void initScrollView() {
mScrollView = (ScrollView) mView.findViewById(R.id.scroll_view);
mScrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
@Override
public void onScrollChanged() {
if (mScrollView != null) {
if (mScrollView.getChildAt(0).getBottom() <= (mScrollView.getHeight() + mScrollView.getScrollY())) {
// Scroll view is at bottom
// If not loading then start load more
} else {
// Scroll view is not at bottom
}
}
}
});
}

请记住将回收器 View 的嵌套滚动设置为 false,以便在您的类文件中平滑滚动:

mRecyclerView.setNestedScrollingEnabled(false);

如果你想在它到达底部之前开始加载下一页,那么只需从 mScrollView.getChildAt(0).getBottom() 中减去一个整数

例如这里减去1000:

if (mScrollView.getChildAt(0).getBottom() - 1000 <= (mScrollView.getHeight() + mScrollView.getScrollY())) {
// Scroll view is at bottom
// If not loading then start load more
} else {
// Scroll view is not at bottom
}

使用更大的整数在滚动到达底部之前开始加载。

关于Android - 用于交错 GridView 的 OnScrollListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16851934/

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