Ok, also brauchte ich einen kreisförmigen ViewPager. Ich hatte wirklich Schwierigkeiten, es umzusetzen. Nun, da ich es implementiert habe und es funktioniert gut, soweit kreisförmige Scroll betrifft. Aber ich habe ein Problem bemerkt. Was nach der ersten Runde von Scrollfragmenten nicht funktioniert. Ich habe drei Fragmente mit einem Knopf in ihnen. Button funktioniert in der ersten Runde, aber wenn ich zurück zur ersten Seite komme funktioniert nicht. p.s habe ich gefälschte Seiten Technik verwendet, um Viewpager rund zu machen.Circular ViewPager. Fragmente funktionieren nach der ersten Runde nicht so wie sie sollten
Hier Code
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);
}
}
});
hier ist PagerAdapter Klasse
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;
}
}
Probieren Sie diese [Wie man zirkuliertes Scrollen auf ViewPager macht] (http://stackoverflow.com/questions/21368693/how-to-do-circular-scrolling-on-viewpager), [CircularViewPager] (https: // github.com/TobiasBuchholz/CircularViewPager) –
Eigentlich ist das Problem mit Fragmenten. Fragmente funktionieren nicht, aber zirkulares Scrollen ist Arbeit. Fragment funktioniert nur, wenn ich nicht kreisförmig scrollen –