您当前的代码片段不起作用,因为它没有告诉任何其他对象滚动已更改 - 它只是触发 onScrollChanged() 的超级版本。你应该得到日志条目。
要侦听滚动更改,您需要使用您自己的侦听器接口扩展 ScrollView。类似于这样的东西:
public class MyScrollView extends ScrollView{
public interface MyScrollViewListener{
public abstract void onScrollChanged(int l, int t, int oldl, int oldt);
}
MyScrollViewListener mMyScrollViewListener;
public void setMyScrollViewListener(MyScrollViewListenerlistener){
mMyScrollViewListener = listener;
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
if(mMyScrollViewListener != null){
mMyScrollViewListener.onScrollChanged(l, t, oldl, oldt);
}
}
}
然后,您可以使用此滚动视图代替您当前的滚动视图。确保在您想要监听滚动更改的任何内容上实现接口 MyScrollViewListener 并使用 setMyScrollViewListener 函数进行设置。