检测ViewPager的点击次数和版本

时间:2012-08-24 09:25:03

标签: android

我在ScrollViewViewPager之间存在冲突。

我正在尝试按照

的方式做点什么
If user clicks ViewPager:
   Disable ScrollView

If user releases ViewPager:
   Enable ScrollView

我已经启用了禁用/启用代码,但我无法使点击/发布代码正常工作。

我已尝试使用OnTouch,因此......

pager.setOnTouchListener(new OnTouchListener() {

    public boolean onTouch(View v, MotionEvent event) {

        if (event.getAction() == MotionEvent.ACTION_DOWN){
            scroller.setScrollingEnabled(false);
        }

        if (event.getAction() == MotionEvent.ACTION_UP){
            scroller.setScrollingEnabled(true);
        }

        return true;
    }
});

..但这似乎禁止ViewPager左右滚动。我使用它错了吗?

还有其他检测按压和释放的方法吗?此外,我正在努力让它在Android 2.1及更高版本上运行,因此OnDrag似乎不兼容。

1 个答案:

答案 0 :(得分:1)

OnTouch()的返回值的描述 - OnTouchListener接口的方法:

  

如果监听器已经使用了该事件,则为true,否则为false。

OnTouchListener documentation

尝试仅对ACTION_DOWN或ACTION_UP类型的Action返回true,否则返回false。