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