Example usage for android.support.v4.view PagerAdapter unregisterDataSetObserver

List of usage examples for android.support.v4.view PagerAdapter unregisterDataSetObserver

Introduction

In this page you can find the example usage for android.support.v4.view PagerAdapter unregisterDataSetObserver.

Prototype

void unregisterDataSetObserver(DataSetObserver observer) 

Source Link

Usage

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();
    }

}