List of usage examples for android.support.v4.view PagerAdapter unregisterDataSetObserver
void unregisterDataSetObserver(DataSetObserver observer)
From source file:com.am.pagergradienttab.view.PagerGradientTabStrip.java
void updateAdapter(PagerAdapter oldAdapter, PagerAdapter newAdapter) { if (oldAdapter != null) { oldAdapter.unregisterDataSetObserver(mPageListener); mWatchingAdapter = null;//from ww w .j ava2 s . c o m } tabs.clear(); if (newAdapter != null) { newAdapter.registerDataSetObserver(mPageListener); mWatchingAdapter = new WeakReference<PagerAdapter>(newAdapter); mLastKnownPosition = mPager.getCurrentItem(); currectPager = mLastKnownPosition; nextPager = mLastKnownPosition; for (int i = 0; i < newAdapter.getCount(); i++) { tabs.add(newAdapter.getPageTitle(i).toString()); } } if (mPager != null) { requestLayout(); } }
From source file:am.widget.tabstrip.TabStripHelper.java
private void onViewPagerAdapterChanged(@Nullable PagerAdapter oldAdapter, @Nullable PagerAdapter newAdapter) { if (mView instanceof TabStripView) ((TabStripView) mView).onViewPagerAdapterChanged(oldAdapter, newAdapter); else if (mView instanceof TabStripViewGroup) ((TabStripViewGroup) mView).onViewPagerAdapterChanged(oldAdapter, newAdapter); if (mScrollState == ViewPager.SCROLL_STATE_IDLE) { mPosition = 0;/* ww w. j a va2 s. com*/ mOffset = 0; if (oldAdapter != null) oldAdapter.unregisterDataSetObserver(this); if (newAdapter != null) newAdapter.registerDataSetObserver(this); if (mPager != null) mPosition = mPager.getCurrentItem(); updateView(true); } }
From source file:am.widget.basetabstrip.BaseTabStrip.java
/** * ?PagerAdapter// www .ja va 2 s.c o m * * @param oldAdapter Adapter * @param newAdapter Adapter */ protected void bindPagerAdapter(PagerAdapter oldAdapter, PagerAdapter newAdapter) { if (oldAdapter != null) { oldAdapter.unregisterDataSetObserver(mPageListener); mWatchingAdapter = null; } if (newAdapter != null) { newAdapter.registerDataSetObserver(mPageListener); mWatchingAdapter = new WeakReference<>(newAdapter); } createItemBackgrounds(); onBindPagerAdapter(); checkCurrentItem(); requestLayout(); invalidate(); }