解决方案思路:
自定义View,继承HorizontalScrollView,重写onScrollChanged方法,将此方法的监听抽成接口,暴露到外面调用。
之后,在java代码中给我们自定义的HorizontalScrollView设置监听。
mHorizontalScrollView= (MyScrollView) findViewById(R.id.horizontalScrollView_re);
mHorizontalScrollView.setScrollViewListener(newMyScrollView.ScrollViewListener()
{
@Override
public voidonScrollChanged(MyScrollView scrollView,int
x,int y,int oldx,int oldy) {
horizontalScrollView_title.scrollTo(x, y);
}
});
附:MyScrollView.java
附:MyScrollView.java
public class MyScrollView extends HorizontalScrollView { private ScrollViewListener scrollViewListener = null; public MyScrollView(Context context) { super(context); } public MyScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public MyScrollView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); if (scrollViewListener != null) { scrollViewListener.onScrollChanged(this, l, t, oldl, oldt); } } public void setScrollViewListener(ScrollViewListener scrollViewListener) { this.scrollViewListener = scrollViewListener; } public interface ScrollViewListener { void onScrollChanged(MyScrollView scrollView, int x, int y, int oldx, int oldy); } }