0
文字列リソースの配列からViewPagerを設計し、円形ページインジケータを表示する必要があります。今度は、最初のアイテムから右にスワイプすると、最後のアイテムから左にスワイプして最後のアイテムを設定したときに、最初のアイテムを設定します。多くのソリューションを通過した後、最後のアイテムから左にスワイプしながらパス全体をバックトラックします。バックトラッキングなしでそれを行う方法。私は最初の項目にスムーズにパス全体を再び通過せずに設定したい。前の要素をバックトラッキングせずにビューページャへの循環ループを作成する方法
以下は私が使用したコードです。
viewPager = (ViewPager) view.findViewById(R.id.view_pager);
mAdapter = new PromoPagerAdapter(getActivity());
viewPager.setAdapter(mAdapter);
viewPager.addOnPageChangeListener(this);
CirclePageIndicator circlePageIndicator = (CirclePageIndicator) view.findViewById(R.id.page_indicator);
circlePageIndicator.setViewPager(viewPager);
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
mCurrentPosition = position;
}
@Override
public void onPageScrollStateChanged(int state) {
int currentPage = viewPager.getCurrentItem();
if (currentPage == mAdapter.getCount()-1 || currentPage == 0) {
previousState = mCurrentPosition;
mCurrentPosition = state;
if (previousState == 1 && mCurrentPosition == 0) {
viewPager.setCurrentItem(currentPage == 0 ? mAdapter.getCount()-1 : 0);
}
}
}
StackOverflowのは、プログラミングのウェブサイトであるので、我々はコードで動作します。あなたがこれまでに試したものについては、私たちがあなたのために行うことはできないので、関連するコードを投稿してください。最小、完全、および検証可能なサンプルの作成方法については、[** here **](https://stackoverflow.com/help/mcve)を参照してください。 – finnrayment