0
3番目のフラグメントの後にstartActivity(LoginActivity)
が必要です。viewpagerの最後のフラグメントがスライドするとき、どのようにフラグメントからアクティビティに移動しますか?
3番目の断片には、右から左にスライドして活動を開始します。
私はいくつかの質問が見つかりましたが:スライドして第三の断片に第二の断片を移動すると、第三の断片(最後のフラグメントが)少し登場し、活動を変更して、その場合には
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if(position == tutorialViewPager.getAdapter().getCount() - 1){
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
}
}
。
最後のフラグメントをスライドするときにアクティビティを変更したい(2番目のフラグメントから3番目のフラグメントではなく、3番目のフラグメントをスライドさせます)。
最後のフラグメントをスライドすると、特定のアクティビティにフラグメントをワープする方法はありますか?
私を助けてください。
public class TutorialActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener {
int MAX_PAGE = 3;
Fragment cur_fragment = new Fragment();
ViewPager tutorialViewPager;
private int selectedPageIndex = -1;
private boolean exitWhenScrollNextPage = false;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tutorial_page);
tutorialViewPager = (ViewPager) findViewById(R.id.tutorialViewPager);
tutorialViewPager.setAdapter(new adapter(getSupportFragmentManager()));
tutorialViewPager.addOnPageChangeListener(this);
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if(position == tutorialViewPager.getAdapter().getCount() - 1){
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
}
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
private class adapter extends FragmentPagerAdapter{
public adapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
if(position<0 || MAX_PAGE <= position){
return null;
}
switch (position){
case 0:
cur_fragment = new TutorialFragmentA();
break;
case 1:
cur_fragment = new TutorialFragmentB();
break;
case 2:
cur_fragment = new TutorialFragmentC();
break;
}
return cur_fragment;
}
@Override
public int getCount() {
return MAX_PAGE;
}
}
}