diff --git a/library/src/main/java/com/antonyt/infiniteviewpager/InfinitePagerAdapter.java b/library/src/main/java/com/antonyt/infiniteviewpager/InfinitePagerAdapter.java index d68b7ec..109631d 100644 --- a/library/src/main/java/com/antonyt/infiniteviewpager/InfinitePagerAdapter.java +++ b/library/src/main/java/com/antonyt/infiniteviewpager/InfinitePagerAdapter.java @@ -132,4 +132,6 @@ private void debug(String message) { Log.d(TAG, message); } } + + public PagerAdapter getAdapter() { return this.adapter; } } diff --git a/library/src/main/java/com/antonyt/infiniteviewpager/InfiniteViewPager.java b/library/src/main/java/com/antonyt/infiniteviewpager/InfiniteViewPager.java index 4bd438b..cf026ed 100644 --- a/library/src/main/java/com/antonyt/infiniteviewpager/InfiniteViewPager.java +++ b/library/src/main/java/com/antonyt/infiniteviewpager/InfiniteViewPager.java @@ -39,7 +39,9 @@ public void setCurrentItem(int item, boolean smoothScroll) { super.setCurrentItem(item, smoothScroll); return; } - item = getOffsetAmount() + (item % getAdapter().getCount()); + // offset only for the first time + if (item < getOffsetAmount() / 2) + item = getOffsetAmount() + (item % getAdapter().getCount()); super.setCurrentItem(item, smoothScroll); } @@ -58,6 +60,10 @@ public int getCurrentItem() { } } + public int getInfCurrentItem() { + return super.getCurrentItem(); + } + private int getOffsetAmount() { if (getAdapter().getCount() == 0) { return 0; diff --git a/library/src/main/java/com/antonyt/infiniteviewpager/MinFragmentPagerAdapter.java b/library/src/main/java/com/antonyt/infiniteviewpager/MinFragmentPagerAdapter.java index 71a07bd..a9f9865 100644 --- a/library/src/main/java/com/antonyt/infiniteviewpager/MinFragmentPagerAdapter.java +++ b/library/src/main/java/com/antonyt/infiniteviewpager/MinFragmentPagerAdapter.java @@ -58,6 +58,6 @@ public Fragment getItem(int position) { } } - + public FragmentPagerAdapter getAdapter() { return this.adapter; } }