无法在无限视图分页器Android中从最后一项滚动到第一项

时间:2016-11-22 09:27:58

标签: android android-studio android-viewpager

如何在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;
    }
}

0 个答案:

没有答案