2012-08-24 37 views
0

我在ScrollViewViewPager之间有冲突。检测ViewPager的点击和释放

我试图沿着

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

描述为OnTouch() - 方法到OnTouchListener接口:

True如果听众已经消耗的情况下,否则返回假。

OnTouchListener documentation

尝试仅用于type ACTION_DOWN或ACTION_UP的动作返回true,否则为false。

+0

谢谢!错过了。在这些操作中返回true将覆盖ViewPager的内置控件,并导致其行为错误,但在所有事件上返回false都像魅力一样。 – Muz