/** * @deprecated User ViewPager addOnPageChangeListener */ @Deprecated public void setOnPageChangeListener( ViewPager.OnPageChangeListener onPageChangeListener) { if (mViewpager == null) { throw new NullPointerException("can not find Viewpager , setViewPager first"); } mViewpager.removeOnPageChangeListener(onPageChangeListener); mViewpager.addOnPageChangeListener(onPageChangeListener); } }
private void init(Context context) { super.removeOnPageChangeListener(onPageChangeListener); super.addOnPageChangeListener(onPageChangeListener); }
public void setViewPager(@Nullable ViewPager viewPager) { mViewpager = viewPager; if (mViewpager != null && mViewpager.getAdapter() != null) { mLastPosition = -1; createIndicators(); mViewpager.removeOnPageChangeListener(mInternalPageChangeListener); mViewpager.addOnPageChangeListener(mInternalPageChangeListener); mInternalPageChangeListener.onPageSelected(mViewpager.getCurrentItem()); } }
@Override public void setupWithViewPager(ViewPager viewPager) { if (viewPager == null) { return; } mViewPager = viewPager; if (mPageChangeListener != null) { mViewPager.removeOnPageChangeListener(mPageChangeListener); } else { mPageChangeListener = new ViewPagerPageChangeListener(); } if (mNavigationController != null) { int n = mViewPager.getCurrentItem(); if (mNavigationController.getSelected() != n) { mNavigationController.setSelect(n); } mViewPager.addOnPageChangeListener(mPageChangeListener); } }
@Override public void setViewPager(ViewPager view) { if (mViewPager == view) { return; } if (mViewPager != null) { mViewPager.removeOnPageChangeListener(this); } if (view.getAdapter() == null) { throw new IllegalStateException("ViewPager does not have adapter instance."); } mViewPager = view; mViewPager.addOnPageChangeListener(this); invalidate(); }
private void onDetachedFromViewPager(@NonNull ViewPager pager) { if (mView instanceof TabStripView) ((TabStripView) mView).onDetachedFromViewPager(pager); else if (mView instanceof TabStripViewGroup) ((TabStripViewGroup) mView).onDetachedFromViewPager(pager); pager.removeOnPageChangeListener(this); pager.removeOnAdapterChangeListener(this); final PagerAdapter adapter = pager.getAdapter(); if (adapter != null) { adapter.unregisterDataSetObserver(this); } }
/** * Unregister internal listener objects, release object references, etc. * This method should be called in order to avoid memory leaks. */ public void release() { cancelPendingAdjustTabMode(); cancelPendingSetTabsFromPagerAdapter(); cancelPendingUpdateScrollPosition(); if (mInternalOnAdapterChangeListener != null) { mViewPager.removeOnAdapterChangeListener(mInternalOnAdapterChangeListener); mInternalOnAdapterChangeListener = null; } if (mInternalDataSetObserver != null) { mViewPager.getAdapter().unregisterDataSetObserver(mInternalDataSetObserver); mInternalDataSetObserver = null; } if (mInternalOnTabSelectedListener != null) { mTabLayout.removeOnTabSelectedListener(mInternalOnTabSelectedListener); mInternalOnTabSelectedListener = null; } if (mInternalTabLayoutOnPageChangeListener != null) { mViewPager.removeOnPageChangeListener(mInternalTabLayoutOnPageChangeListener); mInternalTabLayoutOnPageChangeListener = null; } mViewPager = null; mTabLayout = null; }