@Override public void onPageSelected(int position) { int realPosition = mAdapter.toRealPosition(position); if (mPreviousPosition != realPosition) { mPreviousPosition = realPosition; if (mOnPageChangeListeners != null) { for (int i = 0; i < mOnPageChangeListeners.size(); i++) { OnPageChangeListener listener = mOnPageChangeListeners.get(i); if (listener != null) { listener.onPageSelected(realPosition); } } } } }
@Override public void onPageSelected(int position) { if (mScrollState == ViewPager.SCROLL_STATE_IDLE) { mTabStrip.onViewPagerPageChanged(position, 0f); scrollToTab(position, 0); } for (int i = 0; i < mTabStrip.getChildCount(); i++) { mTabStrip.getChildAt(i).setSelected(position == i); } if (mViewPagerPageChangeListener != null) { mViewPagerPageChangeListener.onPageSelected(position); } }
public void setViewPager(@Nullable ViewPager viewPager) { mViewpager = viewPager; if (mViewpager != null && mViewpager.getAdapter() != null) { mLastPosition = -1; createIndicators(); mViewpager.removeOnPageChangeListener(mInternalPageChangeListener); mViewpager.addOnPageChangeListener(mInternalPageChangeListener); mInternalPageChangeListener.onPageSelected(mViewpager.getCurrentItem()); } }
pageChangeListener.onPageSelected(position); binding.container.setCurrentItem(position, false);
@Override public void onPageSelected(int position) { if (mSnap || mScrollState == ViewPager.SCROLL_STATE_IDLE) { mCurrentPage = position; mSnapPage = position; invalidate(); } if (mListener != null) { mListener.onPageSelected(position); } }
/** * Photos loading results callback. */ @Result(FlickrApi.LOAD_IMAGES_EVENT) private void onPhotosLoaded(List<Photo> photos, boolean hasMore) { // RecyclerView will continue scrolling when new items are added, we need to stop it. // Seems like this buggy behavior was introduced in support library v26.0.x final boolean onBottom = views.grid.findViewHolderForAdapterPosition(gridAdapter.getCount() - 1) != null; if (onBottom) { views.grid.stopScroll(); } // Setting new photos list gridAdapter.setPhotos(photos, hasMore); pagerAdapter.setPhotos(photos); gridAdapter.onNextItemsLoaded(); // Ensure listener called for 0 position pagerListener.onPageSelected(views.pager.getCurrentItem()); // Restoring saved state if (savedPagerPosition != NO_POSITION && savedPagerPosition < photos.size()) { pagerAdapter.setActivated(true); listAnimator.enter(savedPagerPosition, false); } if (savedGridPosition != NO_POSITION && savedGridPosition < photos.size()) { ((GridLayoutManager) views.grid.getLayoutManager()) .scrollToPositionWithOffset(savedGridPosition, savedGridPositionFromTop); } clearScreenState(); }
@Override public void onPageSelected(int position) { if (mScrollState == ViewPager.SCROLL_STATE_IDLE) { mTabStrip.onViewPagerPageChanged(position, 0f); scrollToTab(position, 0); } if (mViewPagerPageChangeListener != null) { mViewPagerPageChangeListener.onPageSelected(position); } }
@Override public void onPageSelected(int position) { for (OnPageChangeListener listener : pageChangeListenerList) listener.onPageSelected(position); }