Android 无法在无限视图寻呼机中从最后一项滚动到第一项
如何在Infinite ViewPager Android中从最后一项滚动到第一项。 有哪些可能的方法可以做到这一点?我几乎什么都试过了,但还没有从谷歌找到任何东西Android 无法在无限视图寻呼机中从最后一项滚动到第一项,android,android-studio,android-viewpager,Android,Android Studio,Android Viewpager,如何在Infinite ViewPager Android中从最后一项滚动到第一项。 有哪些可能的方法可以做到这一点?我几乎什么都试过了,但还没有从谷歌找到任何东西 public void setAdapter(PagerAdapter adapter) { super.setAdapter(adapter); setCurrentItem(0); } @Override public void setCurrentItem(int item) { setCurrentI
public void setAdapter(PagerAdapter adapter) {
super.setAdapter(adapter);
setCurrentItem(0);
}
@Override
public void setCurrentItem(int item) {
setCurrentItem(item, true);
}
@Override
public void setCurrentItem(int item, boolean smoothScroll) {
if (getAdapter().getCount() == 0) {
super.setCurrentItem(item, smoothScroll);
return;
}
item = getOffsetAmount() + (item % getAdapter().getCount());
super.setCurrentItem(item, smoothScroll);
}
@Override
public int getCurrentItem() {
if (getAdapter().getCount() == 0) {
return super.getCurrentItem();
}
int position = super.getCurrentItem();
if (getAdapter() instanceof InfinitePagerAdapter) {
InfinitePagerAdapter infAdapter = (InfinitePagerAdapter) getAdapter();
return (position % infAdapter.getRealCount());
} else {
return super.getCurrentItem();
}
}
private int getOffsetAmount() {
if (getAdapter().getCount() == 0) {
return 0;
}
if (getAdapter() instanceof InfinitePagerAdapter) {
InfinitePagerAdapter infAdapter = (InfinitePagerAdapter) getAdapter();
return infAdapter.getRealCount() * 100;
} else {
return 0;
}
}
你试过这个吗