いいので、私は円形のViewPagerが必要でした。私は実際にそれを実装するのに苦労していました。今私はそれを実装しており、循環スクロールが懸念される限り、それはうまく動作しています。しかし、私は問題に気が付いています。最初のラウンドのスクロール・フラグメントが機能しなかった後です。私はそれらの中にボタンを持つ3つの断片を持っています。ボタンは最初のラウンドで動作しますが、最初のページに戻るときにボタンが機能しません。 p.s私は偽のページ技術を使用してビューページを円形にしました。ここで円形ViewPager。最初のラウンド後にフラグメントが正常に動作しない
ここにコード
mViewPager.setAdapter(new PagerAdapter(getSupportFragmentManager(), this));
//mViewPager.setOnPageChangeListener(new CircularViewPagerHandler(mViewPager));
mViewPager.setCurrentItem(1, false);
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
if (position == 0) {
mViewPager.setCurrentItem(3, false);
Log.d("TAG",
"Swiped before first page, looping and resetting to last page.");
} else if (position == 4) {
mViewPager.setCurrentItem(1, false);
Log.d("TAG",
"Swiped beyond last page, looping and resetting to first page.");
}
}
@Override
public void onPageScrollStateChanged(int state) {
Log.d("onPageScrollState", "state:" + state);
int currentPage = mViewPager.getCurrentItem();
if(currentPage==1){
imgCenter.setImageResource(R.drawable.take_ride);
imgLeft.setImageResource(R.drawable.give_ride);
imgRight.setImageResource(R.drawable.setting);
}
if(currentPage==2){
imgCenter.setImageResource(R.drawable.setting);
imgRight.setImageResource(R.drawable.take_ride);
imgLeft.setImageResource(R.drawable.give_ride);
}
if (currentPage==3){
imgCenter.setImageResource(R.drawable.give_ride);
imgLeft.setImageResource(R.drawable.take_ride);
imgRight.setImageResource(R.drawable.setting);
}
}
});
あるPagerAdapterクラスは、私がButton
であなたPagerAdapter
とシンプルなFragment
sの簡単なテスト・アプリケーションを作成しました
public class PagerAdapter extends FragmentPagerAdapter {
Context mcontext;
public PagerAdapter(FragmentManager fm, Context context) {
super(fm);
mcontext = context;
}
@Override
public Fragment getItem(int position) {
if (position == 0) {
return new HomeFragment2();
}
else if(position==1){
return new HomeFragment();
}
else if (position == 2) {
return new SettingFragment();
}
else if(position==3){
return new HomeFragment2();
}
else
return new HomeFragment();
}
@Override
public int getCount() {
return 5;
}
}
[ViewPagerの循環スクロール方法](http://stackoverflow.com/questions/21368693/how-to-do-circular-scrolling-on-viewpager)、[CircularViewPager](https:// –
実際に問題は断片化しています。フラグメントは機能していませんが、循環スクロールは機能します。断片は、私が円形の方法でスクロールしない場合にのみ機能します –