我的ViewPager
动态编号为images
。此ViewPager
作为自定义行添加到表视图中。由于此表视图可以有多个动态自定义行,因此我必须在scrollview
中添加此表视图以进行滚动。
现在我的问题是,当我水平滚动到View Pager时,它不是完全水平滚动,它也与一些垂直滚动混合在一起。因此,当检测到垂直滚动时,事件被传递到滚动视图;这使ViewPager
重置为初始位置。
那么如何将事件传回ViewPager
或避免滚动视图捕捉垂直滚动事件?
注意:我尝试禁用scrollview
垂直滚动,但这并没有阻止它捕获垂直滚动事件。
答案 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的父级,如我的问题中所述。