您的位置:首页 > 其它

SwipeRefreshLayout与viewpager的滑动冲突的解决

2016-04-21 15:40 155 查看
转载地址: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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: