如何在StaggeredGridView中使用setScrollListener

Sal*_*eeh 3 android android-layout android-gridview

我试图在StaggeredGridView中添加Scroll监听器,我无法想出一种方法来添加,没有实现,我可以看到
Github网址 https://github.com/maurycyw/StaggeredGridView 谢谢

Dav*_* Ng 10

这是我试图解决这个问题的方法

首先,添加一个私有实例:

private AbsListView.OnScrollListener mOnScrollListener;
Run Code Online (Sandbox Code Playgroud)

添加公共setOnClickListener方法:

public void setOnScrollListener (AbsListView.OnScrollListener l) {
    mOnScrollListener = l;
}
Run Code Online (Sandbox Code Playgroud)

然后,在trackMotionScroll中,添加行以调用侦听器:

private boolean trackMotionScroll(int deltaY, boolean allowOverScroll) {
.
.
.

/* HERE we call onScroll */
if (mOnScrollListener != null) {
    mOnScrollListener.onScroll(null, getFirstPosition(), getChildCount(), this.mItemCount);
}

return deltaY == 0 || movedBy != 0;
}
Run Code Online (Sandbox Code Playgroud)

你也可以实现自己的onScrollStateChanged (AbsListView view, int scrollState)方法,但我太懒了:P

最后,您可以调用gridView.setOnScrollListener(listener)将侦听器传递给StaggeredGridView

希望能帮助到你.