i_raqz i_raqz - 9 months ago 72
Android Question

listening to scroll events horizontalscrollview android

I am trying to listen to the event when the

is scrolled. Tried this but it does not print anything.

HorizontalScrollView headerScrollView = new HorizontalScrollView(this);

headerScrollView.setOnTouchListener(new OnTouchListener() {

public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return false;

The actual problem is, I want to scroll two
at a time..ie; both of them need to scroll simultaneously when atleast one of them scrolled.
any workaround?

I used the answer below and then tried implementing this but I am not sure how I need to use the methods in the class.

TestHorizontalScrollView headerScrollView = (TestHorizontalScrollView) findViewById(R.id.headerHv);

Is this the way I need to point to the hsv element in the layout file?

Answer Source

You may want to try creating your own custom class that extends HorizontalScrollView and overriding the onScrollChanged() function as such

public class TestHorizontalScrollView extends HorizontalScrollView {

    public TestHorizontalScrollView(Context context) {

    protected void onScrollChanged(int l, int t, int oldl, int oldt) {
        // TODO Auto-generated method stub
        Log.i("Scrolling", "X from ["+oldl+"] to ["+l+"]");
        super.onScrollChanged(l, t, oldl, oldt);


This overriden function will catch all changes to the scroll position even when the view is not being touched. This should keep your scroll views in sync.