这是我尝试解决问题的方法
首先,添加一个私有(private)实例:
private AbsListView.OnScrollListener mOnScrollListener;
添加公共(public) setOnClickListener 方法:
public void setOnScrollListener (AbsListView.OnScrollListener l) {
mOnScrollListener = l;
}
然后,在 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;
}
你也可以实现你自己的onScrollStateChanged(AbsListView view, int scrollState)
方法,但是我懒得这么做了:P
最后您可以调用gridView.setOnScrollListener(listener)
将监听器传递给StaggeredGridView
希望对您有所帮助。
我是一名优秀的程序员,十分优秀!