SwipeRefreshLayout与viewpager的滑动冲突的解决

转载地址:http://blog.csdn.net/q40579717/article/details/47121975

ViewPager有个监听事件的回调方法,vPager.setOnPageChangeListener(this); 

复写public void onPageScrollStateChanged(int arg0)   

 

此方法是在状态改变的时候调用,其中arg0这个参数有三种状态(0,1,2)。arg0 ==1的时辰默示正在滑动,arg0==2的时辰默示滑动完毕了,arg0==0的时辰默示什么都没做。

 

当页面开始滑动的时候,三种状态的变化顺序为(1,2,0)


所以可以判断viewPager目前的状态来控制SwipeRefreshLayout是否可滑。


@Override
    public void onPageScrollStateChanged(int arg0) {
       enableDisableSwipeRefresh(arg0 == ViewPager.SCROLL_STATE_IDLE);
    }

    protected void enableDisableSwipeRefresh(boolean enable) {
            if (swipe_container != null) {
            swipe_container.setEnabled(enable);
            }
        }


你可能感兴趣的:(SwipeRefreshLayout与viewpager的滑动冲突的解决)