現在のコード スニペットは、スクロールが変更されたことを他のオブジェクトに伝えていないため、機能しません。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 関数を使用して設定してください。