如何在Infinite ViewPager Android中从最后一项滚动到第一项。 有什么可能的方法呢?我几乎尝试了所有东西,但却没有从谷歌那里找到任何东西。
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;
}
}