List of usage examples for android.support.v4.view PagerAdapter unregisterDataSetObserver
void unregisterDataSetObserver(DataSetObserver observer)
From source file:com.booking.rtlviewpager.RtlViewPager.java
private void unregisterRtlDataSetObserver() { final PagerAdapter adapter = super.getAdapter(); if (adapter instanceof ReverseAdapter && dataSetObserver != null) { adapter.unregisterDataSetObserver(dataSetObserver); dataSetObserver = null;//from w w w . j a va 2 s .co m } }
From source file:am.widget.tabstrip.TabStripHelper.java
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); }/* w ww .j a v a 2s .c om*/ }
From source file:org.dmfs.android.view.DrawablePagerTitleStrip.java
void updateAdapter(PagerAdapter oldAdapter, PagerAdapter newAdapter) { if (oldAdapter != null) { oldAdapter.unregisterDataSetObserver(mPageListener); mWatchingAdapter = null;//from w w w . ja v a2 s . c o m } if (newAdapter != null) { if (!(newAdapter instanceof IDrawableTitlePagerAdapter)) { throw new IllegalArgumentException("Adapter must implement IDrawableTitlePagerAdapter"); } newAdapter.registerDataSetObserver(mPageListener); mWatchingAdapter = new WeakReference<PagerAdapter>(newAdapter); Context context = getContext(); // TODO: we should determine the number of images dynamically int newCount = Math.max(1, Math.min(9, newAdapter.getCount())); if (mImageViews == null || mImageViews.length < newCount) { ImageView[] newImages = new ImageView[newCount]; int start = 0; if (mImageViews != null) { System.arraycopy(mImageViews, 0, newImages, 0, mImageViews.length); start = mImageViews.length; } for (int i = start; i < newCount; ++i) { addView(newImages[i] = new ImageView(context)); } mImageViews = newImages; } else if (mImageViews.length > newCount) { ImageView[] newImages = new ImageView[newCount]; System.arraycopy(mImageViews, 0, newImages, 0, newCount); for (int i = newCount; i < mImageViews.length; ++i) { removeView(mImageViews[i]); } mImageViews = newImages; } } else { mImageViews = null; } if (mPager != null) { mLastKnownCurrentPage = -1; mLastKnownPositionOffset = -1; updateImages(mPager.getCurrentItem(), newAdapter); requestLayout(); } }
From source file:com.boha.malengagolf.library.util.PagerTitleStrip22.java
void updateAdapter(PagerAdapter oldAdapter, PagerAdapter newAdapter) { if (oldAdapter != null) { oldAdapter.unregisterDataSetObserver(mPageListener); mWatchingAdapter = null;//ww w.j a v a2s .c o m } if (newAdapter != null) { newAdapter.registerDataSetObserver(mPageListener); mWatchingAdapter = new WeakReference<PagerAdapter>(newAdapter); } if (mPager != null) { mLastKnownCurrentPage = -1; mLastKnownPositionOffset = -1; updateText(mPager.getCurrentItem(), newAdapter); requestLayout(); } }
From source file:com.ubergeek42.WeechatAndroid.CutePagerTitleStrip.java
void updateAdapter(PagerAdapter oldAdapter, PagerAdapter newAdapter) { if (oldAdapter != null) { oldAdapter.unregisterDataSetObserver(mPageListener); mWatchingAdapter = null;//from w w w . ja v a 2s . c o m } if (newAdapter != null) { newAdapter.registerDataSetObserver(mPageListener); mWatchingAdapter = new WeakReference<>(newAdapter); } if (mPager != null) { mLastKnownCurrentPage = -1; mLastKnownPositionOffset = -1; updateText(mPager.getCurrentItem(), newAdapter); requestLayout(); } }
From source file:com.qiscus.sdk.filepicker.util.TabLayoutHelper.java
private void handleOnAdapterChanged(ViewPager viewPager, PagerAdapter oldAdapter, PagerAdapter newAdapter) { if (this.viewPager != viewPager) { return;//from w w w. j a va 2s. com } if (oldAdapter != null) { oldAdapter.unregisterDataSetObserver(internalDataSetObserver); } if (newAdapter != null) { newAdapter.registerDataSetObserver(internalDataSetObserver); } setTabsFromPagerAdapter(tabLayout, newAdapter, this.viewPager.getCurrentItem()); }
From source file:droidninja.filepicker.utils.TabLayoutHelper.java
protected void handleOnAdapterChanged(ViewPager viewPager, PagerAdapter oldAdapter, PagerAdapter newAdapter) { if (mViewPager != viewPager) { return;/* w w w .j a va 2 s . co m*/ } if (oldAdapter != null) { oldAdapter.unregisterDataSetObserver(mInternalDataSetObserver); } if (newAdapter != null) { newAdapter.registerDataSetObserver(mInternalDataSetObserver); } setTabsFromPagerAdapter(mTabLayout, newAdapter, mViewPager.getCurrentItem()); }
From source file:com.github.shareme.gwsmaterialuikit.library.material.widget.TabPageIndicator.java
/** * Set the ViewPager associate with this indicator view. * @param view The ViewPager view.//from w w w.j a v a 2 s . co m */ public void setViewPager(@Nullable ViewPager view) { if (mViewPager == view) return; if (mViewPager != null) { mViewPager.removeOnPageChangeListener(this); PagerAdapter adapter = mViewPager.getAdapter(); if (adapter != null) adapter.unregisterDataSetObserver(mObserver); } mViewPager = view; if (mViewPager != null) { PagerAdapter adapter = mViewPager.getAdapter(); if (adapter == null) throw new IllegalStateException("ViewPager does not have adapter instance."); adapter.registerDataSetObserver(mObserver); mViewPager.addOnPageChangeListener(this); notifyDataSetChanged(); onPageSelected(mViewPager.getCurrentItem()); } else mTabContainer.removeAllViews(); }
From source file:com.itsronald.widget.ViewPagerIndicator.java
/** * Update the ViewPager adapter being observed by the indicator. The * <p>// w w w. j a va 2 s.com * Taken from: * https://android.googlesource.com/platform/frameworks/support/+/nougat-release/v4/java/android/support/v4/view/PagerTitleStrip.java#319 * * @param oldAdapter The previous adapter being tracked by the indicator. * @param newAdapter The previous adapter that should be tracked by the indicator. */ private void updateAdapter(@Nullable PagerAdapter oldAdapter, @Nullable PagerAdapter newAdapter) { if (oldAdapter != null) { oldAdapter.unregisterDataSetObserver(pageListener); pagerAdapterRef = null; } if (newAdapter != null) { newAdapter.registerDataSetObserver(pageListener); pagerAdapterRef = new WeakReference<>(newAdapter); } if (viewPager != null) { lastKnownCurrentPage = -1; lastKnownPositionOffset = -1; updateIndicators(viewPager.getCurrentItem(), newAdapter); requestLayout(); } }
From source file:com.mixiaoxiao.mxxedgeeffect.widget.MxxPagerTitleStrip.java
void updateAdapter(PagerAdapter oldAdapter, PagerAdapter newAdapter) { if (oldAdapter != null) { oldAdapter.unregisterDataSetObserver(mPageListener); mWatchingAdapter = null;/*w ww . ja v a 2s . c o m*/ } if (newAdapter != null) { newAdapter.registerDataSetObserver(mPageListener); mWatchingAdapter = new WeakReference<PagerAdapter>(newAdapter); mCircleIndicator.setItemCount(newAdapter.getCount()); } if (mPager != null) { mLastKnownCurrentPage = -1; mLastKnownPositionOffset = -1; updateText(mPager.getCurrentItem(), newAdapter); requestLayout(); } }