已解决:HorizontalScrollView的setScrollViewListener方法不兼容低版本的问题

来源:互联网 发布:大麦网抢票软件个人版 编辑:程序博客网 时间:2024/04/19 14:34
解决方案思路:
自定义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
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);    }}

阅读全文
0 0
原创粉丝点击