提出问题:在SwipeRefreshLayout内嵌套ViewPager时,会造成ViewPager滑动时不灵敏或触发SwipeRefreshLayout的下拉刷新事件。
解决思路:在ViewPager滑动时禁止SwipeRefreshLayout滑动,ViewPager滑动结束解禁SwipeRefreshLayout滑动。
关键代码:
viewpager.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
mSwipeRefreshLayout.setEnabled(false);
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
mSwipeRefreshLayout.setEnabled(true);
break;
}
return false;
}
});