List of usage examples for android.support.v4.view PagerAdapter POSITION_UNCHANGED
int POSITION_UNCHANGED
To view the source code for android.support.v4.view PagerAdapter POSITION_UNCHANGED.
Click Source Link
From source file:net.illusor.swipeplayer.activities.SwipePagerAdapter.java
@Override public int getItemPosition(Object object) { if (object.equals(this.playlistFragment)) return this.browserFolders.size(); int index = this.browserFragments.indexOf(object); return index >= 0 ? PagerAdapter.POSITION_UNCHANGED : PagerAdapter.POSITION_NONE; }
From source file:net.thetranquilpsychonaut.hashtagger.cwacpager.ArrayPagerAdapter.java
@Override public int getItemPosition(Object o) { Integer result = positionDelta.get(o); if (result == null) { return (PagerAdapter.POSITION_UNCHANGED); }/*from w ww .j av a 2s.c o m*/ return (result); }
From source file:com.commonsware.cwac.pager.ArrayPagerAdapter.java
@Override public int getItemPosition(Object o) { Integer result = positionDelta.get(o); if (result == null) { return (PagerAdapter.POSITION_UNCHANGED); }// w w w . j av a 2s . co m return (result); }
From source file:com.momock.binder.container.ViewPagerBinder.java
public void onBind(final ViewPager view, final IDataList<?> dataSource) { if (view != null) { if (refIndicator != null && refIndicator.get() != null) { refIndicator.get().setCount(dataSource.getItemCount()); }//from ww w.ja va 2 s. com view.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { position = adapter instanceof IRoundAdapter ? ((IRoundAdapter) adapter).getRealPosition(position) : position; Object item = dataSource.getItem(position); ItemEventArgs args = new ItemEventArgs(view, position, item); itemSelectedEvent.fireEvent(view, args); if (refIndicator != null && refIndicator.get() != null) { refIndicator.get().setCurrentIndex(position); } } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageScrollStateChanged(int state) { viewPagerState = state; } }); view.setOnTouchListener(new View.OnTouchListener() { GestureDetector detector = null; @Override public boolean onTouch(View v, MotionEvent event) { view.getParent().requestDisallowInterceptTouchEvent(true); if (detector == null) { detector = new GestureDetector(v.getContext(), new GestureDetector.SimpleOnGestureListener() { @Override public boolean onSingleTapConfirmed(MotionEvent e) { Object item = dataSource.getItem(adapter instanceof IRoundAdapter ? ((IRoundAdapter) adapter).getRealPosition(view.getCurrentItem()) : view.getCurrentItem()); ItemEventArgs args = new ItemEventArgs(view, view.getCurrentItem(), item); itemClickedEvent.fireEvent(view, args); return true; } }); } return detector.onTouchEvent(event); } }); adapter = new PagerAdapter() { BlockingQueue<View> savedViews = new LinkedBlockingQueue<View>(); @Override public int getCount() { return dataSource.getItemCount(); } @Override public boolean isViewFromObject(View view, Object object) { return view == ((View) object); } @Override public Object instantiateItem(ViewGroup container, int position) { View convertView = null; if (savedViews.size() > 0) { convertView = savedViews.poll(); } Object item = dataSource.getItem(position); if (convertView != null) convertView.setTag(null); convertView = itemBinder.onCreateItemView(convertView, item, ViewPagerBinder.this); convertView.setTag(item); container.addView(convertView, 0); return convertView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { savedViews.add((View) object); container.removeView((View) object); } long lastDataSetChangedTick = 0; @Override public void notifyDataSetChanged() { lastDataSetChangedTick = System.nanoTime(); getDataChangedEvent().fireEvent(this, new EventArgs()); if (refIndicator != null && refIndicator.get() != null) { refIndicator.get().setCount(dataSource.getItemCount()); } super.notifyDataSetChanged(); Logger.debug("ViewPagerBinder.PagerAdapter.notifyDataSetChanged"); } long updateTick = 0; @Override public void startUpdate(ViewGroup container) { updateTick = System.nanoTime(); super.startUpdate(container); } @Override public void setPrimaryItem(ViewGroup container, int position, Object object) { super.setPrimaryItem(container, position, object); } @Override public void finishUpdate(ViewGroup container) { super.finishUpdate(container); if (lastDataSetChangedTick < updateTick) lastDataSetChangedTick = 0; } @Override public int getItemPosition(Object object) { return lastDataSetChangedTick == 0 ? PagerAdapter.POSITION_UNCHANGED : PagerAdapter.POSITION_NONE; } }; if (round) adapter = new RoundPagerAdapter(adapter); view.setAdapter(adapter); dataSource.addDataChangedHandler(new IEventHandler<DataChangedEventArgs>() { @Override public void process(Object sender, DataChangedEventArgs args) { adapter.notifyDataSetChanged(); } }); if (round) view.setCurrentItem(Math.max(100, dataSource.getItemCount() * 100), false); } }
From source file:com.coleman.demo.view.page.DirectionalViewPager.java
void dataSetChanged() { // This method only gets called if our observer is attached, so mAdapter // is non-null. boolean needPopulate = mItems.isEmpty() && mAdapter.getCount() > 0; 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 w w . 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; } } if (newCurrItem >= 0) { // TODO This currently causes a jump. setCurrentItemInternal(newCurrItem, false, true); needPopulate = true; } if (needPopulate) { populate(); requestLayout(); } }
From source file:cn.com.zzwfang.view.directionalviewpager.DirectionalViewPager.java
void dataSetChanged() { // This method only gets called if our observer is attached, so mAdapter is non-null. boolean needPopulate = mItems.isEmpty() && mAdapter.getCount() > 0; 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 a va 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; } } if (newCurrItem >= 0) { // TODO This currently causes a jump. setCurrentItemInternal(newCurrItem, false, true); needPopulate = true; } if (needPopulate) { populate(); requestLayout(); } }
From source file:com.aincc.libtest.activity.flip.FlipViewGroup.java
/** * ?? // w ww .j av a2 s . c om * * @since 1.0.0 */ private void dataSetChanged() { boolean needPopulate = items.size() < 3 && items.size() < adapter.getCount(); int newCurrItem = -1; for (int i = 0; i < items.size(); i++) { final ItemInfo ii = items.get(i); final int newPos = adapter.getItemPosition(ii.object); if (newPos == PagerAdapter.POSITION_UNCHANGED) { continue; } if (newPos == PagerAdapter.POSITION_NONE) { items.remove(i); i--; adapter.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, adapter.getCount() - 1)); } continue; } if (ii.position != newPos) { if (ii.position == currentItem) { // Our current item changed position. Follow it. newCurrItem = newPos; } ii.position = newPos; needPopulate = true; } } Collections.sort(items, COMPARATOR); if (newCurrItem >= 0) { // TODO This currently causes a jump. setCurrentItemInternal(newCurrItem, true); needPopulate = true; } if (needPopulate) { populate(); requestLayout(); } }
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; }/* w w w. jav a 2s . c o m*/ 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 ww. j ava 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) { 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.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; }/*from w w w. 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) { setCurrentItemInternal(newCurrItem, false, true); needPopulate = true; } if (needPopulate) { populate(); requestLayout(); } }