Android中的ViewPager滚动问题

时间:2012-09-07 17:00:58

标签: android scroll android-viewpager horizontal-scrolling vertical-scrolling

我的ViewPager动态编号为images。此ViewPager作为自定义行添加到表视图中。由于此表视图可以有多个动态自定义行,因此我必须在scrollview中添加此表视图以进行滚动。

现在我的问题是,当我水平滚动到View Pager时,它不是完全水平滚动,它也与一些垂直滚动混合在一起。因此,当检测到垂直滚动时,事件被传递到滚动视图;这使ViewPager重置为初始位置。

那么如何将事件传回ViewPager或避免滚动视图捕捉垂直滚动事件?

注意:我尝试禁用scrollview垂直滚动,但这并没有阻止它捕获垂直滚动事件。

1 个答案:

答案 0 :(得分:11)

我找到了问题的解决方案,这就是我的做法。

我以下列方式过度使用我的Viewpager的触摸事件

myViewPager.setOnTouchListener(new OnTouchListener() {

                public boolean onTouch(View v, MotionEvent event) {

                    if(event.getAction() == MotionEvent.ACTION_MOVE && myScrollView!=null){
                        myScrollView.requestDisallowInterceptTouchEvent(true);
                    }
                    return false;
                }
            });

注意:myScrollView是myViewPager的父级,如我的问题中所述。