MainAcitivity class:
public class MainActivity extends FragmentActivity {
private int currentPage = 0;
private String[] abc = {"A","B","C"};
private String [] abc2 = {"B","C","D"};
/**
* The pager widget, which handles animation and allows swiping horizontally to access previous
* and next wizard steps.
*/
private ViewPager mPager;
/**
* The pager adapter, which provides the pages to the view pager widget.
*/
private ScreenSlidePagerAdapter mPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Instantiate a ViewPager and a PagerAdapter.
mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
}
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter implements OnPageChangeListener {
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
ScreenSlidePageFragment mScreenSlidePageFragment = new ScreenSlidePageFragment();
Bundle bundle = new Bundle();
bundle.putString("test", abc[position]);
if (position == 2){
bundle.putString("test", abc2[position]);
}
mScreenSlidePageFragment.setArguments(bundle);
return mScreenSlidePageFragment;
}
@Override
public int getCount() {
return 3;
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
if (currentPage == 2){
mPager.setCurrentItem(1,false);
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int position) {
// TODO Auto-generated method stub
currentPage = position;
}
}
}
ScreenSlidePageFragment class:
public class ScreenSlidePageFragment extends Fragment {
public TextView txt;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
R.layout.fragment_screen_slide_page, container, false);
Bundle bundle = getArguments();
String result = bundle.getString("test");
txt = (TextView) rootView.findViewById(R.id.content);
txt.setText(result);
return rootView;
}
}
What I want is when user drag to C (position 2), it will become middle page (position 1), so that user can drag again to "D" but I don't know how to make it work at all :(.
And I also want that if position 0 have text "A" or position 2 have text "D",user can not drag anymore. Please show me how to do that!