swiperefreshlayout與ViewPager滑動衝突

ViewPager有個監聽事件的回調方法,ViewPager.addOnPageChangeListener(this); java

複寫裏面onPageScrollStateChange方法ide

此方法是在狀態改變的時候調用,其中arg0這個參數有三種狀態(0,1,2)。state==1的時,正在滑動,state==2的時滑動完畢,state==0 無事件.
this


當頁面開始滑動的時候,三種狀態的變化順序爲(1,2,0)spa

因此能夠判斷viewPager目前的狀態來控制SwipeRefreshLayout是否可滑。code


private class MyPageChangeListener implements ViewPager.OnPageChangeListener {

    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

    }

    @Override
    public void onPageSelected(int position) {

    }

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

    private void enableDisableSwipeRefresh(boolean b) {

        if (swipe != null) {
            swipe.setEnabled(b);
        }
    }
}

    



}
事件

相關文章
相關標籤/搜索