很多时候我们都会用到ListView和ViewPager,两者之间的嵌套使用也是不可避免。但是通常使用两者嵌套时都会存在一些事件冲突的问题。
首先是ListView嵌套ViewPager时,ViewPager的事件被屏蔽,解决这个问题的方法是给ViewPager添加监听,在监听里面重写onPageScrolled()方法
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// 告诉ListView在ViewPager滑动过程中不要抢事件
listView.requestDisallowInterceptTouchEvent(true);
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
}