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

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

Introduction

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

Prototype

int POSITION_NONE

To view the source code for android.support.v4.view PagerAdapter POSITION_NONE.

Click Source Link

Usage

From source file:com.oguzbabaoglu.cardpager.CardPager.java

void dataSetChanged() {
    // This method only gets called if our observer is attached, so pagerAdapter is non-null.

    final int adapterCount = pagerAdapter.getCount();
    boolean needPopulate = items.size() < offscreenPageLimit * 2 + 1 && items.size() < adapterCount;
    int newCurrItem = currentItem;

    boolean isUpdating = false;
    for (int i = 0; i < items.size(); i++) {
        final ItemInfo ii = items.get(i);
        final int newPos = pagerAdapter.getItemPosition(ii.object);

        if (newPos == PagerAdapter.POSITION_UNCHANGED) {
            continue;
        }//from  w  w  w  .j  av a 2s  . c om

        if (newPos == PagerAdapter.POSITION_NONE) {
            items.remove(i);
            i--;

            if (!isUpdating) {
                pagerAdapter.startUpdate(this);
                isUpdating = true;
            }

            pagerAdapter.destroyItem(this, ii.position, ii.object);
            needPopulate = true;

            if (currentItem == ii.position) {
                // Keep the current item in the valid range
                newCurrItem = Math.max(0, Math.min(currentItem, adapterCount - 1));
                needPopulate = true;
            }
            continue;
        }

        if (ii.position != newPos) {
            if (ii.position == currentItem) {
                // Our current item changed position. Follow it.
                newCurrItem = newPos;
            }

            ii.position = newPos;
            needPopulate = true;
        }
    }

    if (isUpdating) {
        pagerAdapter.finishUpdate(this);
    }

    Collections.sort(items, ITEM_COMPARATOR);

    if (needPopulate) {
        // Reset our known page widths; populate will recompute them.
        final int childCount = getChildCount();
        for (int i = 0; i < childCount; i++) {
            final View child = getChildAt(i);
            final LayoutParams lp = (LayoutParams) child.getLayoutParams();
            lp.widthFactor = 0.f;
        }

        setCurrentItemInternal(newCurrItem, false, true);
        requestLayout();
    }
}

From source file:com.jzh.stuapp.view.MyViewPager.java

void dataSetChanged() {

    boolean needPopulate = mItems.size() < 3 && mItems.size() < mAdapter.getCount();
    int newCurrItem = -1;

    for (int i = 0; i < mItems.size(); i++) {
        final ItemInfo ii = mItems.get(i);
        final int newPos = mAdapter.getItemPosition(ii.object);

        if (newPos == PagerAdapter.POSITION_UNCHANGED) {
            continue;
        }//from  w  w w  . j av a2 s .co  m

        if (newPos == PagerAdapter.POSITION_NONE) {
            mItems.remove(i);
            i--;
            mAdapter.destroyItem(this, ii.position, ii.object);
            needPopulate = true;

            if (mCurItem == ii.position) {
                newCurrItem = Math.max(0, Math.min(mCurItem, mAdapter.getCount() - 1));
            }
            continue;
        }

        if (ii.position != newPos) {
            if (ii.position == mCurItem) {
                newCurrItem = newPos;
            }

            ii.position = newPos;
            needPopulate = true;
        }
    }

    Collections.sort(mItems, COMPARATOR);

    if (newCurrItem >= 0) {
        setCurrentItemInternal(newCurrItem, false, true);
        needPopulate = true;
    }
    if (needPopulate) {
        populate();
        requestLayout();
    }
}

From source file:com.yao.zhihudaily.tool.LazyViewPager.java

void dataSetChanged() {
    // This method only gets called if our observer is attached, so mAdapter is non-null.
    boolean needPopulate = mItems.size() < 3 && mItems.size() < mAdapter.getCount();
    int newCurrItem = -1;
    for (int i = 0; i < mItems.size(); i++) {
        final ItemInfo ii = mItems.get(i);
        final int newPos = mAdapter.getItemPosition(ii.object);
        if (newPos == PagerAdapter.POSITION_UNCHANGED) {
            continue;
        }/*  w ww  . j a  v  a 2 s . c o  m*/
        if (newPos == PagerAdapter.POSITION_NONE) {
            mItems.remove(i);
            i--;
            mAdapter.destroyItem(this, ii.position, ii.object);
            needPopulate = true;
            if (mCurItem == ii.position) {
                // Keep the current item in the valid range
                newCurrItem = Math.max(0, Math.min(mCurItem, mAdapter.getCount() - 1));
            }
            continue;
        }
        if (ii.position != newPos) {
            if (ii.position == mCurItem) {
                // Our current item changed position. Follow it.
                newCurrItem = newPos;
            }
            ii.position = newPos;
            needPopulate = true;
        }
    }
    Collections.sort(mItems, COMPARATOR);
    if (newCurrItem >= 0) {
        // TODO This currently causes a jump.
        setCurrentItemInternal(newCurrItem, false, true);
        needPopulate = true;
    }
    if (needPopulate) {
        populate();
        requestLayout();
    }
}

From source file:com.guoxin.githubdemo.image.LazyViewPager.java

void dataSetChanged() {
    // This method only gets called if our observer is attached, so mAdapter is non-null.

    boolean needPopulate = mItems.size() < 3 && mItems.size() < mAdapter.getCount();
    int newCurrItem = -1;

    for (int i = 0; i < mItems.size(); i++) {
        final ItemInfo ii = mItems.get(i);
        final int newPos = mAdapter.getItemPosition(ii.object);

        if (newPos == PagerAdapter.POSITION_UNCHANGED) {
            continue;
        }/* w  ww.j  a  v a 2  s . com*/

        if (newPos == PagerAdapter.POSITION_NONE) {
            mItems.remove(i);
            i--;
            mAdapter.destroyItem(this, ii.position, ii.object);
            needPopulate = true;

            if (mCurItem == ii.position) {
                // Keep the current item in the valid range
                newCurrItem = Math.max(0, Math.min(mCurItem, mAdapter.getCount() - 1));
            }
            continue;
        }

        if (ii.position != newPos) {
            if (ii.position == mCurItem) {
                // Our current item changed position. Follow it.
                newCurrItem = newPos;
            }

            ii.position = newPos;
            needPopulate = true;
        }
    }

    Collections.sort(mItems, COMPARATOR);

    if (newCurrItem >= 0) {
        setCurrentItemInternal(newCurrItem, false, true);
        needPopulate = true;
    }
    if (needPopulate) {
        populate();
        requestLayout();
    }
}

From source file:bw.com.yunifangstore.view.LazyViewPager.java

void dataSetChanged() {
    // This method only gets called if our observer is attached, so mAdapter is non-null.

    boolean needPopulate = mItems.size() < 3 && mItems.size() < mAdapter.getCount();
    int newCurrItem = -1;

    for (int i = 0; i < mItems.size(); i++) {
        final ItemInfo ii = mItems.get(i);
        final int newPos = mAdapter.getItemPosition(ii.object);

        if (newPos == PagerAdapter.POSITION_UNCHANGED) {
            continue;
        }//from  w ww  .  j  a  va 2s . c om

        if (newPos == PagerAdapter.POSITION_NONE) {
            mItems.remove(i);
            i--;
            mAdapter.destroyItem(this, ii.position, ii.object);
            needPopulate = true;

            if (mCurItem == ii.position) {
                // Keep the current item in the valid range
                newCurrItem = Math.max(0, Math.min(mCurItem, mAdapter.getCount() - 1));
            }
            continue;
        }

        if (ii.position != newPos) {
            if (ii.position == mCurItem) {
                // Our current item changed position. Follow it.
                newCurrItem = newPos;
            }

            ii.position = newPos;
            needPopulate = true;
        }
    }

    Collections.sort(mItems, COMPARATOR);

    if (newCurrItem >= 0) {
        // TODO This currently causes a jump.
        setCurrentItemInternal(newCurrItem, false, true);
        needPopulate = true;
    }
    if (needPopulate) {
        populate();
        requestLayout();
    }
}

From source file:com.cnpeng.cnpeng_mydemosfrom2016_12.a_12_GetLocalFiles_VP_FM.CustomNoPreLoadViewPager.java

void dataSetChanged() {
    // This method only gets called if our observer is attached, so mAdapter is non-null.  

    boolean needPopulate = mItems.size() < 3 && mItems.size() < mAdapter.getCount();
    int newCurrItem = -1;

    for (int i = 0; i < mItems.size(); i++) {
        final ItemInfo ii = mItems.get(i);
        final int newPos = mAdapter.getItemPosition(ii.object);

        if (newPos == PagerAdapter.POSITION_UNCHANGED) {
            continue;
        }/*from  w  ww.  j a va 2s.  com*/

        if (newPos == PagerAdapter.POSITION_NONE) {
            mItems.remove(i);
            i--;
            mAdapter.destroyItem(this, ii.position, ii.object);
            needPopulate = true;

            if (mCurItem == ii.position) {
                // Keep the current item in the valid range  
                newCurrItem = Math.max(0, Math.min(mCurItem, mAdapter.getCount() - 1));
            }
            continue;
        }

        if (ii.position != newPos) {
            if (ii.position == mCurItem) {
                // Our current item changed position. Follow it.  
                newCurrItem = newPos;
            }

            ii.position = newPos;
            needPopulate = true;
        }
    }

    Collections.sort(mItems, COMPARATOR);

    if (newCurrItem >= 0) {
        // TODO This currently causes a jump.  
        setCurrentItemInternal(newCurrItem, false, true);
        needPopulate = true;
    }
    if (needPopulate) {
        populate();
        requestLayout();
    }
}

From source file:com.icenler.lib.view.LazyViewPager.java

void dataSetChanged() {
    // This method only gets called if our observer is attached, so mAdapter is non-null.

    boolean needPopulate = mItems.size() < 3 && mItems.size() < mAdapter.getCount();
    int newCurrItem = -1;

    for (int i = 0; i < mItems.size(); i++) {
        final ItemInfo ii = mItems.get(i);
        final int newPos = mAdapter.getItemPosition(ii.object);

        if (newPos == PagerAdapter.POSITION_UNCHANGED) {
            continue;
        }//from  ww w.  j a v  a  2s . c o  m

        if (newPos == PagerAdapter.POSITION_NONE) {
            mItems.remove(i);
            i--;
            mAdapter.destroyItem(this, ii.position, ii.object);
            needPopulate = true;

            if (mCurItem == ii.position) {
                // Keep the current item in the valid range
                newCurrItem = Math.max(0, Math.min(mCurItem, mAdapter.getCount() - 1));
            }
            continue;
        }

        if (ii.position != newPos) {
            if (ii.position == mCurItem) {
                // Our current item changed position. Follow it.
                newCurrItem = newPos;
            }

            ii.position = newPos;
            needPopulate = true;
        }
    }

    Collections.sort(mItems, COMPARATOR);

    if (newCurrItem >= 0) {
        // This currently causes a jump.
        setCurrentItemInternal(newCurrItem, false, true);
        needPopulate = true;
    }
    if (needPopulate) {
        populate();
        requestLayout();
    }
}

From source file:com.wevalue.view.LazyViewPager.java

void dataSetChanged() {
    // This method only gets called if our observer is attached, so mAdapter
    // is non-null.

    boolean needPopulate = mItems.size() < 3 && mItems.size() < mAdapter.getCount();
    int newCurrItem = -1;

    for (int i = 0; i < mItems.size(); i++) {
        final ItemInfo ii = mItems.get(i);
        final int newPos = mAdapter.getItemPosition(ii.object);

        if (newPos == PagerAdapter.POSITION_UNCHANGED) {
            continue;
        }//from   w  w w  .  ja v  a  2  s.c  o  m

        if (newPos == PagerAdapter.POSITION_NONE) {
            mItems.remove(i);
            i--;
            mAdapter.destroyItem(this, ii.position, ii.object);
            needPopulate = true;

            if (mCurItem == ii.position) {
                // Keep the current item in the valid range
                newCurrItem = Math.max(0, Math.min(mCurItem, mAdapter.getCount() - 1));
            }
            continue;
        }

        if (ii.position != newPos) {
            if (ii.position == mCurItem) {
                // Our current it-em changed position. Follow it.
                newCurrItem = newPos;
            }

            ii.position = newPos;
            needPopulate = true;
        }
    }

    Collections.sort(mItems, COMPARATOR);

    if (newCurrItem >= 0) {
        // TODO This currently causes a jump.
        setCurrentItemInternal(newCurrItem, false, false);
        needPopulate = true;
    }
    if (needPopulate) {
        populate();
        requestLayout();
    }
}

From source file:com.miuhouse.yourcompany.student.view.widget.LazyViewPager.java

void dataSetChanged() {
    // This method only gets called if our observer is attached, so mAdapter
    // is non-null.

    boolean needPopulate = mItems.size() < 3 && mItems.size() < mAdapter.getCount();
    int newCurrItem = -1;

    for (int i = 0; i < mItems.size(); i++) {
        final ItemInfo ii = mItems.get(i);
        final int newPos = mAdapter.getItemPosition(ii.object);

        if (newPos == PagerAdapter.POSITION_UNCHANGED) {
            continue;
        }/*from  w  ww. j a  va2s. c  om*/

        if (newPos == PagerAdapter.POSITION_NONE) {
            mItems.remove(i);
            i--;
            mAdapter.destroyItem(this, ii.position, ii.object);
            needPopulate = true;

            if (mCurItem == ii.position) {
                // Keep the current item in the valid range
                newCurrItem = Math.max(0, Math.min(mCurItem, mAdapter.getCount() - 1));
            }
            continue;
        }

        if (ii.position != newPos) {
            if (ii.position == mCurItem) {
                // Our current item changed position. Follow it.
                newCurrItem = newPos;
            }

            ii.position = newPos;
            needPopulate = true;
        }
    }

    Collections.sort(mItems, COMPARATOR);

    if (newCurrItem >= 0) {
        setCurrentItemInternal(newCurrItem, false, true);
        needPopulate = true;
    }
    if (needPopulate) {
        populate();
        requestLayout();
    }
}

From source file:com.bm.wjsj.View.LazyViewPager.java

void dataSetChanged() {
    // This method only gets called if our observer is attached, so mAdapter
    // is non-null.

    boolean needPopulate = mItems.size() < 3 && mItems.size() < mAdapter.getCount();
    int newCurrItem = -1;

    for (int i = 0; i < mItems.size(); i++) {
        final ItemInfo ii = mItems.get(i);
        final int newPos = mAdapter.getItemPosition(ii.object);

        if (newPos == PagerAdapter.POSITION_UNCHANGED) {
            continue;
        }/*from   w  w w . ja  va 2  s  .com*/

        if (newPos == PagerAdapter.POSITION_NONE) {
            mItems.remove(i);
            i--;
            mAdapter.destroyItem(this, ii.position, ii.object);
            needPopulate = true;

            if (mCurItem == ii.position) {
                // Keep the current item in the valid range
                newCurrItem = Math.max(0, Math.min(mCurItem, mAdapter.getCount() - 1));
            }
            continue;
        }

        if (ii.position != newPos) {
            if (ii.position == mCurItem) {
                // Our current item changed position. Follow it.
                newCurrItem = newPos;
            }

            ii.position = newPos;
            needPopulate = true;
        }
    }

    Collections.sort(mItems, COMPARATOR);

    if (newCurrItem >= 0) {
        // TODO This currently causes a jump.
        setCurrentItemInternal(newCurrItem, false, true);
        needPopulate = true;
    }
    if (needPopulate) {
        populate();
        requestLayout();
    }
}