监听滚动事件horizo​​ntalscrollview android

2023-12-30

我正在尝试监听事件HorizontalScrollView已滚动。尝试过这个,但它不打印任何内容。

HorizontalScrollView headerScrollView = new HorizontalScrollView(this);

    headerScrollView.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
            Log.i("hv1",event.toString());
            Log.i("hv1","HELLO");
            return false;
        }
    });

实际问题是,我想滚动两个HorizontalScrollView一次..ie;当至少其中一个滚动时,它们都需要同时滚动。 有什么解决方法吗?

我使用了下面的答案,然后尝试实现这个,但我不确定我需要如何使用类中的方法。

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

这是我需要指向布局文件中的 hsv 元素的方式吗?


您可能想尝试创建自己的自定义类来扩展 Horizo​​ntalScrollView 并重写 onScrollChanged() 函数

public class TestHorizontalScrollView extends HorizontalScrollView {

    public TestHorizontalScrollView(Context context) {
        super(context);
    }


    @Override
    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);
    }

}

即使未触摸视图,此重写函数也将捕获滚动位置的所有更改。这应该使您的滚动视图保持同步。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

监听滚动事件horizo​​ntalscrollview android 的相关文章

随机推荐